diff --git a/DiscImageChef.Checksums/Adler32Context.cs b/DiscImageChef.Checksums/Adler32Context.cs index 1d812cbeb..8a352aabc 100644 --- a/DiscImageChef.Checksums/Adler32Context.cs +++ b/DiscImageChef.Checksums/Adler32Context.cs @@ -39,7 +39,7 @@ namespace DiscImageChef.Checksums public class Adler32Context { ushort sum1, sum2; - const ushort AdlerModule = 65521; + const ushort ADLER_MODULE = 65521; /// /// Initializes the Adler-32 sums @@ -59,8 +59,8 @@ namespace DiscImageChef.Checksums { for(int i = 0; i < len; i++) { - sum1 = (ushort)((sum1 + data[i]) % AdlerModule); - sum2 = (ushort)((sum2 + sum1) % AdlerModule); + sum1 = (ushort)((sum1 + data[i]) % ADLER_MODULE); + sum2 = (ushort)((sum2 + sum1) % ADLER_MODULE); } } @@ -127,8 +127,8 @@ namespace DiscImageChef.Checksums for(int i = 0; i < fileStream.Length; i++) { - localSum1 = (ushort)((localSum1 + fileStream.ReadByte()) % AdlerModule); - localSum2 = (ushort)((localSum2 + localSum1) % AdlerModule); + localSum1 = (ushort)((localSum1 + fileStream.ReadByte()) % ADLER_MODULE); + localSum2 = (ushort)((localSum2 + localSum1) % ADLER_MODULE); } finalSum = (uint)((localSum2 << 16) | localSum1); @@ -161,8 +161,8 @@ namespace DiscImageChef.Checksums for(int i = 0; i < len; i++) { - localSum1 = (ushort)((localSum1 + data[i]) % AdlerModule); - localSum2 = (ushort)((localSum2 + localSum1) % AdlerModule); + localSum1 = (ushort)((localSum1 + data[i]) % ADLER_MODULE); + localSum2 = (ushort)((localSum2 + localSum1) % ADLER_MODULE); } finalSum = (uint)((localSum2 << 16) | localSum1); diff --git a/DiscImageChef.Checksums/CDChecksums.cs b/DiscImageChef.Checksums/CDChecksums.cs index f94bdc679..173b73a60 100644 --- a/DiscImageChef.Checksums/CDChecksums.cs +++ b/DiscImageChef.Checksums/CDChecksums.cs @@ -36,14 +36,14 @@ using DiscImageChef.Console; namespace DiscImageChef.Checksums { - public static class CDChecksums + public static class CdChecksums { - static byte[] ECC_F_Table; - static byte[] ECC_B_Table; - const uint CDCRC32Poly = 0xD8018001; - const uint CDCRC32Seed = 0x00000000; + static byte[] eccFTable; + static byte[] eccBTable; + const uint CDCRC32_POLY = 0xD8018001; + const uint CDCRC32_SEED = 0x00000000; - public static bool? CheckCDSector(byte[] buffer) + public static bool? CheckCdSector(byte[] buffer) { switch(buffer.Length) { @@ -55,8 +55,8 @@ namespace DiscImageChef.Checksums Array.Copy(buffer, 0, channel, 0, 2352); Array.Copy(buffer, 2352, subchannel, 0, 96); - bool? channelStatus = CheckCDSectorChannel(channel); - bool? subchannelStatus = CheckCDSectorSubChannel(subchannel); + bool? channelStatus = CheckCdSectorChannel(channel); + bool? subchannelStatus = CheckCdSectorSubChannel(subchannel); bool? status = null; if(channelStatus == null && subchannelStatus == null) status = null; @@ -67,57 +67,57 @@ namespace DiscImageChef.Checksums return status; } - case 2352: return CheckCDSectorChannel(buffer); + case 2352: return CheckCdSectorChannel(buffer); default: return null; } } - static void ECCInit() + static void EccInit() { - ECC_F_Table = new byte[256]; - ECC_B_Table = new byte[256]; + eccFTable = new byte[256]; + eccBTable = new byte[256]; for(uint i = 0; i < 256; i++) { uint j = (uint)((i << 1) ^ ((i & 0x80) == 0x80 ? 0x11D : 0)); - ECC_F_Table[i] = (byte)j; - ECC_B_Table[i ^ j] = (byte)i; + eccFTable[i] = (byte)j; + eccBTable[i ^ j] = (byte)i; } } - static bool CheckECC(byte[] address, byte[] data, uint major_count, uint minor_count, uint major_mult, - uint minor_inc, byte[] ecc) + static bool CheckEcc(byte[] address, byte[] data, uint majorCount, uint minorCount, uint majorMult, + uint minorInc, byte[] ecc) { - uint size = major_count * minor_count; + uint size = majorCount * minorCount; uint major; - for(major = 0; major < major_count; major++) + for(major = 0; major < majorCount; major++) { - uint index = (major >> 1) * major_mult + (major & 1); - byte ecc_a = 0; - byte ecc_b = 0; + uint index = (major >> 1) * majorMult + (major & 1); + byte eccA = 0; + byte eccB = 0; uint minor; - for(minor = 0; minor < minor_count; minor++) + for(minor = 0; minor < minorCount; minor++) { byte temp; if(index < 4) { temp = address[index]; } else { temp = data[index - 4]; } - index += minor_inc; + index += minorInc; if(index >= size) { index -= size; } - ecc_a ^= temp; - ecc_b ^= temp; - ecc_a = ECC_F_Table[ecc_a]; + eccA ^= temp; + eccB ^= temp; + eccA = eccFTable[eccA]; } - ecc_a = ECC_B_Table[ECC_F_Table[ecc_a] ^ ecc_b]; - if(ecc[major] != (ecc_a) || ecc[major + major_count] != (ecc_a ^ ecc_b)) { return false; } + eccA = eccBTable[eccFTable[eccA] ^ eccB]; + if(ecc[major] != (eccA) || ecc[major + majorCount] != (eccA ^ eccB)) { return false; } } return true; } - static bool? CheckCDSectorChannel(byte[] channel) + static bool? CheckCdSectorChannel(byte[] channel) { - ECCInit(); + EccInit(); if(channel[0x000] == 0x00 && // sync (12 bytes) channel[0x001] == 0xFF && channel[0x002] == 0xFF && channel[0x003] == 0xFF && channel[0x004] == 0xFF && @@ -163,28 +163,28 @@ namespace DiscImageChef.Checksums byte[] address = new byte[4]; byte[] data = new byte[2060]; byte[] data2 = new byte[2232]; - byte[] ecc_p = new byte[172]; - byte[] ecc_q = new byte[104]; + byte[] eccP = new byte[172]; + byte[] eccQ = new byte[104]; Array.Copy(channel, 0x0C, address, 0, 4); Array.Copy(channel, 0x0C, data, 0, 2060); Array.Copy(channel, 0x0C, data2, 0, 2232); - Array.Copy(channel, 0x81C, ecc_p, 0, 172); - Array.Copy(channel, 0x8C8, ecc_q, 0, 104); + Array.Copy(channel, 0x81C, eccP, 0, 172); + Array.Copy(channel, 0x8C8, eccQ, 0, 104); - bool FailedECC_P = CheckECC(address, data, 86, 24, 2, 86, ecc_p); - bool FailedECC_Q = CheckECC(address, data2, 52, 43, 86, 88, ecc_q); + bool failedEccP = CheckEcc(address, data, 86, 24, 2, 86, eccP); + bool failedEccQ = CheckEcc(address, data2, 52, 43, 86, 88, eccQ); - if(FailedECC_P) + if(failedEccP) DicConsole.DebugWriteLine("CD checksums", "Mode 1 sector at address: {0:X2}:{1:X2}:{2:X2}, fails ECC P check", channel[0x00C], channel[0x00D], channel[0x00E]); - if(FailedECC_Q) + if(failedEccQ) DicConsole.DebugWriteLine("CD checksums", "Mode 1 sector at address: {0:X2}:{1:X2}:{2:X2}, fails ECC Q check", channel[0x00C], channel[0x00D], channel[0x00E]); - if(FailedECC_P || FailedECC_Q) return false; + if(failedEccP || failedEccQ) return false; /* TODO: This is not working byte[] SectorForCheck = new byte[0x810]; @@ -244,8 +244,8 @@ namespace DiscImageChef.Checksums byte[] address = new byte[4]; byte[] data = new byte[2060]; byte[] data2 = new byte[2232]; - byte[] ecc_p = new byte[172]; - byte[] ecc_q = new byte[104]; + byte[] eccP = new byte[172]; + byte[] eccQ = new byte[104]; address[0] = 0; address[1] = 0; @@ -253,22 +253,22 @@ namespace DiscImageChef.Checksums address[3] = 0; Array.Copy(channel, 0x0C, data, 0, 2060); Array.Copy(channel, 0x0C, data2, 0, 2232); - Array.Copy(channel, 0x80C, ecc_p, 0, 172); - Array.Copy(channel, 0x8B8, ecc_q, 0, 104); + Array.Copy(channel, 0x80C, eccP, 0, 172); + Array.Copy(channel, 0x8B8, eccQ, 0, 104); - bool FailedECC_P = CheckECC(address, data, 86, 24, 2, 86, ecc_p); - bool FailedECC_Q = CheckECC(address, data2, 52, 43, 86, 88, ecc_q); + bool failedEccP = CheckEcc(address, data, 86, 24, 2, 86, eccP); + bool failedEccQ = CheckEcc(address, data2, 52, 43, 86, 88, eccQ); - if(FailedECC_P) + if(failedEccP) DicConsole.DebugWriteLine("CD checksums", "Mode 2 form 1 sector at address: {0:X2}:{1:X2}:{2:X2}, fails ECC P check", channel[0x00C], channel[0x00D], channel[0x00E]); - if(FailedECC_Q) + if(failedEccQ) DicConsole.DebugWriteLine("CD checksums", "Mode 2 form 1 sector at address: {0:X2}:{1:X2}:{2:X2}, fails ECC Q check", channel[0x00F], channel[0x00C], channel[0x00D], channel[0x00E]); - if(FailedECC_P || FailedECC_Q) return false; + if(failedEccP || failedEccQ) return false; /* TODO: This is not working byte[] SectorForCheck = new byte[0x808]; @@ -299,93 +299,93 @@ namespace DiscImageChef.Checksums return null; } - static bool? CheckCDSectorSubChannel(byte[] subchannel) + static bool? CheckCdSectorSubChannel(byte[] subchannel) { bool? status = true; - byte[] QSubChannel = new byte[12]; - byte[] CDTextPack1 = new byte[18]; - byte[] CDTextPack2 = new byte[18]; - byte[] CDTextPack3 = new byte[18]; - byte[] CDTextPack4 = new byte[18]; - byte[] CDSubRWPack1 = new byte[24]; - byte[] CDSubRWPack2 = new byte[24]; - byte[] CDSubRWPack3 = new byte[24]; - byte[] CDSubRWPack4 = new byte[24]; + byte[] qSubChannel = new byte[12]; + byte[] cdTextPack1 = new byte[18]; + byte[] cdTextPack2 = new byte[18]; + byte[] cdTextPack3 = new byte[18]; + byte[] cdTextPack4 = new byte[18]; + byte[] cdSubRwPack1 = new byte[24]; + byte[] cdSubRwPack2 = new byte[24]; + byte[] cdSubRwPack3 = new byte[24]; + byte[] cdSubRwPack4 = new byte[24]; int i = 0; - for(int j = 0; j < 12; j++) QSubChannel[j] = 0; + for(int j = 0; j < 12; j++) qSubChannel[j] = 0; for(int j = 0; j < 18; j++) { - CDTextPack1[j] = 0; - CDTextPack2[j] = 0; - CDTextPack3[j] = 0; - CDTextPack4[j] = 0; + cdTextPack1[j] = 0; + cdTextPack2[j] = 0; + cdTextPack3[j] = 0; + cdTextPack4[j] = 0; } for(int j = 0; j < 24; j++) { - CDSubRWPack1[j] = 0; - CDSubRWPack2[j] = 0; - CDSubRWPack3[j] = 0; - CDSubRWPack4[j] = 0; + cdSubRwPack1[j] = 0; + cdSubRwPack2[j] = 0; + cdSubRwPack3[j] = 0; + cdSubRwPack4[j] = 0; } for(int j = 0; j < 12; j++) { - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) << 1)); - QSubChannel[j] = (byte)(QSubChannel[j] | (subchannel[i++] & 0x40)); - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) >> 1)); - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) >> 2)); - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) >> 3)); - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) >> 4)); - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) >> 5)); - QSubChannel[j] = (byte)(QSubChannel[j] | ((subchannel[i++] & 0x40) >> 6)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) << 1)); + qSubChannel[j] = (byte)(qSubChannel[j] | (subchannel[i++] & 0x40)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) >> 1)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) >> 2)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) >> 3)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) >> 4)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) >> 5)); + qSubChannel[j] = (byte)(qSubChannel[j] | ((subchannel[i++] & 0x40) >> 6)); } i = 0; for(int j = 0; j < 18; j++) { - if(j < 18) CDTextPack1[j] = (byte)(CDTextPack1[j] | ((subchannel[i++] & 0x3F) << 2)); - if(j < 18) CDTextPack1[j] = (byte)(CDTextPack1[j++] | ((subchannel[i] & 0xC0) >> 4)); - if(j < 18) CDTextPack1[j] = (byte)(CDTextPack1[j] | ((subchannel[i++] & 0x0F) << 4)); - if(j < 18) CDTextPack1[j] = (byte)(CDTextPack1[j++] | ((subchannel[i] & 0x3C) >> 2)); - if(j < 18) CDTextPack1[j] = (byte)(CDTextPack1[j] | ((subchannel[i++] & 0x03) << 6)); - if(j < 18) CDTextPack1[j] = (byte)(CDTextPack1[j] | (subchannel[i++] & 0x3F)); + if(j < 18) cdTextPack1[j] = (byte)(cdTextPack1[j] | ((subchannel[i++] & 0x3F) << 2)); + if(j < 18) cdTextPack1[j] = (byte)(cdTextPack1[j++] | ((subchannel[i] & 0xC0) >> 4)); + if(j < 18) cdTextPack1[j] = (byte)(cdTextPack1[j] | ((subchannel[i++] & 0x0F) << 4)); + if(j < 18) cdTextPack1[j] = (byte)(cdTextPack1[j++] | ((subchannel[i] & 0x3C) >> 2)); + if(j < 18) cdTextPack1[j] = (byte)(cdTextPack1[j] | ((subchannel[i++] & 0x03) << 6)); + if(j < 18) cdTextPack1[j] = (byte)(cdTextPack1[j] | (subchannel[i++] & 0x3F)); } for(int j = 0; j < 18; j++) { - if(j < 18) CDTextPack2[j] = (byte)(CDTextPack2[j] | ((subchannel[i++] & 0x3F) << 2)); - if(j < 18) CDTextPack2[j] = (byte)(CDTextPack2[j++] | ((subchannel[i] & 0xC0) >> 4)); - if(j < 18) CDTextPack2[j] = (byte)(CDTextPack2[j] | ((subchannel[i++] & 0x0F) << 4)); - if(j < 18) CDTextPack2[j] = (byte)(CDTextPack2[j++] | ((subchannel[i] & 0x3C) >> 2)); - if(j < 18) CDTextPack2[j] = (byte)(CDTextPack2[j] | ((subchannel[i++] & 0x03) << 6)); - if(j < 18) CDTextPack2[j] = (byte)(CDTextPack2[j] | (subchannel[i++] & 0x3F)); + if(j < 18) cdTextPack2[j] = (byte)(cdTextPack2[j] | ((subchannel[i++] & 0x3F) << 2)); + if(j < 18) cdTextPack2[j] = (byte)(cdTextPack2[j++] | ((subchannel[i] & 0xC0) >> 4)); + if(j < 18) cdTextPack2[j] = (byte)(cdTextPack2[j] | ((subchannel[i++] & 0x0F) << 4)); + if(j < 18) cdTextPack2[j] = (byte)(cdTextPack2[j++] | ((subchannel[i] & 0x3C) >> 2)); + if(j < 18) cdTextPack2[j] = (byte)(cdTextPack2[j] | ((subchannel[i++] & 0x03) << 6)); + if(j < 18) cdTextPack2[j] = (byte)(cdTextPack2[j] | (subchannel[i++] & 0x3F)); } for(int j = 0; j < 18; j++) { - if(j < 18) CDTextPack3[j] = (byte)(CDTextPack3[j] | ((subchannel[i++] & 0x3F) << 2)); - if(j < 18) CDTextPack3[j] = (byte)(CDTextPack3[j++] | ((subchannel[i] & 0xC0) >> 4)); - if(j < 18) CDTextPack3[j] = (byte)(CDTextPack3[j] | ((subchannel[i++] & 0x0F) << 4)); - if(j < 18) CDTextPack3[j] = (byte)(CDTextPack3[j++] | ((subchannel[i] & 0x3C) >> 2)); - if(j < 18) CDTextPack3[j] = (byte)(CDTextPack3[j] | ((subchannel[i++] & 0x03) << 6)); - if(j < 18) CDTextPack3[j] = (byte)(CDTextPack3[j] | (subchannel[i++] & 0x3F)); + if(j < 18) cdTextPack3[j] = (byte)(cdTextPack3[j] | ((subchannel[i++] & 0x3F) << 2)); + if(j < 18) cdTextPack3[j] = (byte)(cdTextPack3[j++] | ((subchannel[i] & 0xC0) >> 4)); + if(j < 18) cdTextPack3[j] = (byte)(cdTextPack3[j] | ((subchannel[i++] & 0x0F) << 4)); + if(j < 18) cdTextPack3[j] = (byte)(cdTextPack3[j++] | ((subchannel[i] & 0x3C) >> 2)); + if(j < 18) cdTextPack3[j] = (byte)(cdTextPack3[j] | ((subchannel[i++] & 0x03) << 6)); + if(j < 18) cdTextPack3[j] = (byte)(cdTextPack3[j] | (subchannel[i++] & 0x3F)); } for(int j = 0; j < 18; j++) { - if(j < 18) CDTextPack4[j] = (byte)(CDTextPack4[j] | ((subchannel[i++] & 0x3F) << 2)); - if(j < 18) CDTextPack4[j] = (byte)(CDTextPack4[j++] | ((subchannel[i] & 0xC0) >> 4)); - if(j < 18) CDTextPack4[j] = (byte)(CDTextPack4[j] | ((subchannel[i++] & 0x0F) << 4)); - if(j < 18) CDTextPack4[j] = (byte)(CDTextPack4[j++] | ((subchannel[i] & 0x3C) >> 2)); - if(j < 18) CDTextPack4[j] = (byte)(CDTextPack4[j] | ((subchannel[i++] & 0x03) << 6)); - if(j < 18) CDTextPack4[j] = (byte)(CDTextPack4[j] | (subchannel[i++] & 0x3F)); + if(j < 18) cdTextPack4[j] = (byte)(cdTextPack4[j] | ((subchannel[i++] & 0x3F) << 2)); + if(j < 18) cdTextPack4[j] = (byte)(cdTextPack4[j++] | ((subchannel[i] & 0xC0) >> 4)); + if(j < 18) cdTextPack4[j] = (byte)(cdTextPack4[j] | ((subchannel[i++] & 0x0F) << 4)); + if(j < 18) cdTextPack4[j] = (byte)(cdTextPack4[j++] | ((subchannel[i] & 0x3C) >> 2)); + if(j < 18) cdTextPack4[j] = (byte)(cdTextPack4[j] | ((subchannel[i++] & 0x03) << 6)); + if(j < 18) cdTextPack4[j] = (byte)(cdTextPack4[j] | (subchannel[i++] & 0x3F)); } i = 0; - for(int j = 0; j < 24; j++) { CDSubRWPack1[j] = (byte)(subchannel[i++] & 0x3F); } - for(int j = 0; j < 24; j++) { CDSubRWPack2[j] = (byte)(subchannel[i++] & 0x3F); } - for(int j = 0; j < 24; j++) { CDSubRWPack3[j] = (byte)(subchannel[i++] & 0x3F); } - for(int j = 0; j < 24; j++) { CDSubRWPack4[j] = (byte)(subchannel[i++] & 0x3F); } + for(int j = 0; j < 24; j++) { cdSubRwPack1[j] = (byte)(subchannel[i++] & 0x3F); } + for(int j = 0; j < 24; j++) { cdSubRwPack2[j] = (byte)(subchannel[i++] & 0x3F); } + for(int j = 0; j < 24; j++) { cdSubRwPack3[j] = (byte)(subchannel[i++] & 0x3F); } + for(int j = 0; j < 24; j++) { cdSubRwPack4[j] = (byte)(subchannel[i++] & 0x3F); } - switch(CDSubRWPack1[0]) + switch(cdSubRwPack1[0]) { case 0x00: DicConsole.DebugWriteLine("CD checksums", "Detected Zero Pack in subchannel"); @@ -411,87 +411,87 @@ namespace DiscImageChef.Checksums default: DicConsole.DebugWriteLine("CD checksums", "Detected unknown Pack type in subchannel: mode {0}, item {1}", - Convert.ToString(CDSubRWPack1[0] & 0x38, 2), - Convert.ToString(CDSubRWPack1[0] & 0x07, 2)); + Convert.ToString(cdSubRwPack1[0] & 0x38, 2), + Convert.ToString(cdSubRwPack1[0] & 0x07, 2)); break; } BigEndianBitConverter.IsLittleEndian = true; - ushort QSubChannelCRC = BigEndianBitConverter.ToUInt16(QSubChannel, 10); - byte[] QSubChannelForCRC = new byte[10]; - Array.Copy(QSubChannel, 0, QSubChannelForCRC, 0, 10); - ushort CalculatedQCRC = CalculateCCITT_CRC16(QSubChannelForCRC); + ushort qSubChannelCrc = BigEndianBitConverter.ToUInt16(qSubChannel, 10); + byte[] qSubChannelForCrc = new byte[10]; + Array.Copy(qSubChannel, 0, qSubChannelForCrc, 0, 10); + ushort calculatedQcrc = CalculateCCITT_CRC16(qSubChannelForCrc); - if(QSubChannelCRC != CalculatedQCRC) + if(qSubChannelCrc != calculatedQcrc) { DicConsole.DebugWriteLine("CD checksums", "Q subchannel CRC 0x{0:X4}, expected 0x{1:X4}", - CalculatedQCRC, QSubChannelCRC); + calculatedQcrc, qSubChannelCrc); status = false; } - if((CDTextPack1[0] & 0x80) == 0x80) + if((cdTextPack1[0] & 0x80) == 0x80) { - ushort CDTextPack1CRC = BigEndianBitConverter.ToUInt16(CDTextPack1, 16); - byte[] CDTextPack1ForCRC = new byte[16]; - Array.Copy(CDTextPack1, 0, CDTextPack1ForCRC, 0, 16); - ushort CalculatedCDTP1CRC = CalculateCCITT_CRC16(CDTextPack1ForCRC); + ushort cdTextPack1Crc = BigEndianBitConverter.ToUInt16(cdTextPack1, 16); + byte[] cdTextPack1ForCrc = new byte[16]; + Array.Copy(cdTextPack1, 0, cdTextPack1ForCrc, 0, 16); + ushort calculatedCdtp1Crc = CalculateCCITT_CRC16(cdTextPack1ForCrc); - if(CDTextPack1CRC != CalculatedCDTP1CRC && CDTextPack1CRC != 0) + if(cdTextPack1Crc != calculatedCdtp1Crc && cdTextPack1Crc != 0) { DicConsole.DebugWriteLine("CD checksums", "CD-Text Pack 1 CRC 0x{0:X4}, expected 0x{1:X4}", - CDTextPack1CRC, CalculatedCDTP1CRC); + cdTextPack1Crc, calculatedCdtp1Crc); status = false; } } - if((CDTextPack2[0] & 0x80) == 0x80) + if((cdTextPack2[0] & 0x80) == 0x80) { - ushort CDTextPack2CRC = BigEndianBitConverter.ToUInt16(CDTextPack2, 16); - byte[] CDTextPack2ForCRC = new byte[16]; - Array.Copy(CDTextPack2, 0, CDTextPack2ForCRC, 0, 16); - ushort CalculatedCDTP2CRC = CalculateCCITT_CRC16(CDTextPack2ForCRC); - DicConsole.DebugWriteLine("CD checksums", "Cyclic CDTP2 0x{0:X4}, Calc CDTP2 0x{1:X4}", CDTextPack2CRC, - CalculatedCDTP2CRC); + ushort cdTextPack2Crc = BigEndianBitConverter.ToUInt16(cdTextPack2, 16); + byte[] cdTextPack2ForCrc = new byte[16]; + Array.Copy(cdTextPack2, 0, cdTextPack2ForCrc, 0, 16); + ushort calculatedCdtp2Crc = CalculateCCITT_CRC16(cdTextPack2ForCrc); + DicConsole.DebugWriteLine("CD checksums", "Cyclic CDTP2 0x{0:X4}, Calc CDTP2 0x{1:X4}", cdTextPack2Crc, + calculatedCdtp2Crc); - if(CDTextPack2CRC != CalculatedCDTP2CRC && CDTextPack2CRC != 0) + if(cdTextPack2Crc != calculatedCdtp2Crc && cdTextPack2Crc != 0) { DicConsole.DebugWriteLine("CD checksums", "CD-Text Pack 2 CRC 0x{0:X4}, expected 0x{1:X4}", - CDTextPack2CRC, CalculatedCDTP2CRC); + cdTextPack2Crc, calculatedCdtp2Crc); status = false; } } - if((CDTextPack3[0] & 0x80) == 0x80) + if((cdTextPack3[0] & 0x80) == 0x80) { - ushort CDTextPack3CRC = BigEndianBitConverter.ToUInt16(CDTextPack3, 16); - byte[] CDTextPack3ForCRC = new byte[16]; - Array.Copy(CDTextPack3, 0, CDTextPack3ForCRC, 0, 16); - ushort CalculatedCDTP3CRC = CalculateCCITT_CRC16(CDTextPack3ForCRC); - DicConsole.DebugWriteLine("CD checksums", "Cyclic CDTP3 0x{0:X4}, Calc CDTP3 0x{1:X4}", CDTextPack3CRC, - CalculatedCDTP3CRC); + ushort cdTextPack3Crc = BigEndianBitConverter.ToUInt16(cdTextPack3, 16); + byte[] cdTextPack3ForCrc = new byte[16]; + Array.Copy(cdTextPack3, 0, cdTextPack3ForCrc, 0, 16); + ushort calculatedCdtp3Crc = CalculateCCITT_CRC16(cdTextPack3ForCrc); + DicConsole.DebugWriteLine("CD checksums", "Cyclic CDTP3 0x{0:X4}, Calc CDTP3 0x{1:X4}", cdTextPack3Crc, + calculatedCdtp3Crc); - if(CDTextPack3CRC != CalculatedCDTP3CRC && CDTextPack3CRC != 0) + if(cdTextPack3Crc != calculatedCdtp3Crc && cdTextPack3Crc != 0) { DicConsole.DebugWriteLine("CD checksums", "CD-Text Pack 3 CRC 0x{0:X4}, expected 0x{1:X4}", - CDTextPack3CRC, CalculatedCDTP3CRC); + cdTextPack3Crc, calculatedCdtp3Crc); status = false; } } - if((CDTextPack4[0] & 0x80) == 0x80) + if((cdTextPack4[0] & 0x80) == 0x80) { - ushort CDTextPack4CRC = BigEndianBitConverter.ToUInt16(CDTextPack4, 16); - byte[] CDTextPack4ForCRC = new byte[16]; - Array.Copy(CDTextPack4, 0, CDTextPack4ForCRC, 0, 16); - ushort CalculatedCDTP4CRC = CalculateCCITT_CRC16(CDTextPack4ForCRC); - DicConsole.DebugWriteLine("CD checksums", "Cyclic CDTP4 0x{0:X4}, Calc CDTP4 0x{1:X4}", CDTextPack4CRC, - CalculatedCDTP4CRC); + ushort cdTextPack4Crc = BigEndianBitConverter.ToUInt16(cdTextPack4, 16); + byte[] cdTextPack4ForCrc = new byte[16]; + Array.Copy(cdTextPack4, 0, cdTextPack4ForCrc, 0, 16); + ushort calculatedCdtp4Crc = CalculateCCITT_CRC16(cdTextPack4ForCrc); + DicConsole.DebugWriteLine("CD checksums", "Cyclic CDTP4 0x{0:X4}, Calc CDTP4 0x{1:X4}", cdTextPack4Crc, + calculatedCdtp4Crc); - if(CDTextPack4CRC != CalculatedCDTP4CRC && CDTextPack4CRC != 0) + if(cdTextPack4Crc != calculatedCdtp4Crc && cdTextPack4Crc != 0) { DicConsole.DebugWriteLine("CD checksums", "CD-Text Pack 4 CRC 0x{0:X4}, expected 0x{1:X4}", - CDTextPack4CRC, CalculatedCDTP4CRC); + cdTextPack4Crc, calculatedCdtp4Crc); status = false; } } @@ -499,7 +499,7 @@ namespace DiscImageChef.Checksums return status; } - static readonly ushort[] CCITT_CRC16Table = + static readonly ushort[] CcittCrc16Table = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6, 0x9339, 0x8318, @@ -525,15 +525,15 @@ namespace DiscImageChef.Checksums static ushort CalculateCCITT_CRC16(byte[] buffer) { - ushort CRC16 = 0; + ushort crc16 = 0; for(int i = 0; i < buffer.Length; i++) { - CRC16 = (ushort)(CCITT_CRC16Table[(CRC16 >> 8) ^ buffer[i]] ^ (CRC16 << 8)); + crc16 = (ushort)(CcittCrc16Table[(crc16 >> 8) ^ buffer[i]] ^ (crc16 << 8)); } - CRC16 = (ushort)~CRC16; + crc16 = (ushort)~crc16; - return CRC16; + return crc16; } } } \ No newline at end of file diff --git a/DiscImageChef.Checksums/CRC16Context.cs b/DiscImageChef.Checksums/CRC16Context.cs index fb853c74c..bbac567d9 100644 --- a/DiscImageChef.Checksums/CRC16Context.cs +++ b/DiscImageChef.Checksums/CRC16Context.cs @@ -39,10 +39,10 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to calculate CRC16. /// - public class CRC16Context + public class Crc16Context { - const ushort crc16Poly = 0xA001; - const ushort crc16Seed = 0x0000; + const ushort CRC16_POLY = 0xA001; + const ushort CRC16_SEED = 0x0000; ushort[] table; ushort hashInt; @@ -52,14 +52,14 @@ namespace DiscImageChef.Checksums /// public void Init() { - hashInt = crc16Seed; + hashInt = CRC16_SEED; table = new ushort[256]; for(int i = 0; i < 256; i++) { ushort entry = (ushort)i; for(int j = 0; j < 8; j++) - if((entry & 1) == 1) entry = (ushort)((entry >> 1) ^ crc16Poly); + if((entry & 1) == 1) entry = (ushort)((entry >> 1) ^ CRC16_POLY); else entry = (ushort)(entry >> 1); table[i] = entry; @@ -90,7 +90,7 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - hashInt ^= crc16Seed; + hashInt ^= CRC16_SEED; BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; return BigEndianBitConverter.GetBytes(hashInt); } @@ -100,7 +100,7 @@ namespace DiscImageChef.Checksums /// public string End() { - hashInt ^= crc16Seed; + hashInt ^= CRC16_SEED; StringBuilder crc16Output = new StringBuilder(); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; @@ -134,14 +134,14 @@ namespace DiscImageChef.Checksums ushort[] localTable; ushort localhashInt; - localhashInt = crc16Seed; + localhashInt = CRC16_SEED; localTable = new ushort[256]; for(int i = 0; i < 256; i++) { ushort entry = (ushort)i; for(int j = 0; j < 8; j++) - if((entry & 1) == 1) entry = (ushort)((entry >> 1) ^ crc16Poly); + if((entry & 1) == 1) entry = (ushort)((entry >> 1) ^ CRC16_POLY); else entry = (ushort)(entry >> 1); localTable[i] = entry; @@ -170,7 +170,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public static string Data(byte[] data, uint len, out byte[] hash) { - return Data(data, len, out hash, crc16Poly, crc16Seed); + return Data(data, len, out hash, CRC16_POLY, CRC16_SEED); } /// diff --git a/DiscImageChef.Checksums/CRC32Context.cs b/DiscImageChef.Checksums/CRC32Context.cs index d99bc7c71..485880f0d 100644 --- a/DiscImageChef.Checksums/CRC32Context.cs +++ b/DiscImageChef.Checksums/CRC32Context.cs @@ -39,10 +39,10 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to calculate CRC32. /// - public class CRC32Context + public class Crc32Context { - const uint crc32Poly = 0xEDB88320; - const uint crc32Seed = 0xFFFFFFFF; + const uint CRC32_POLY = 0xEDB88320; + const uint CRC32_SEED = 0xFFFFFFFF; uint[] table; uint hashInt; @@ -52,14 +52,14 @@ namespace DiscImageChef.Checksums /// public void Init() { - hashInt = crc32Seed; + hashInt = CRC32_SEED; table = new uint[256]; for(int i = 0; i < 256; i++) { uint entry = (uint)i; for(int j = 0; j < 8; j++) - if((entry & 1) == 1) entry = (entry >> 1) ^ crc32Poly; + if((entry & 1) == 1) entry = (entry >> 1) ^ CRC32_POLY; else entry = entry >> 1; table[i] = entry; @@ -90,7 +90,7 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - hashInt ^= crc32Seed; + hashInt ^= CRC32_SEED; BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; return BigEndianBitConverter.GetBytes(hashInt); } @@ -100,7 +100,7 @@ namespace DiscImageChef.Checksums /// public string End() { - hashInt ^= crc32Seed; + hashInt ^= CRC32_SEED; StringBuilder crc32Output = new StringBuilder(); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; @@ -134,14 +134,14 @@ namespace DiscImageChef.Checksums uint[] localTable; uint localhashInt; - localhashInt = crc32Seed; + localhashInt = CRC32_SEED; localTable = new uint[256]; for(int i = 0; i < 256; i++) { uint entry = (uint)i; for(int j = 0; j < 8; j++) - if((entry & 1) == 1) entry = (entry >> 1) ^ crc32Poly; + if((entry & 1) == 1) entry = (entry >> 1) ^ CRC32_POLY; else entry = entry >> 1; localTable[i] = entry; @@ -150,7 +150,7 @@ namespace DiscImageChef.Checksums for(int i = 0; i < fileStream.Length; i++) localhashInt = (localhashInt >> 8) ^ localTable[fileStream.ReadByte() ^ localhashInt & 0xff]; - localhashInt ^= crc32Seed; + localhashInt ^= CRC32_SEED; BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; hash = BigEndianBitConverter.GetBytes(localhashInt); @@ -171,7 +171,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public static string Data(byte[] data, uint len, out byte[] hash) { - return Data(data, len, out hash, crc32Poly, crc32Seed); + return Data(data, len, out hash, CRC32_POLY, CRC32_SEED); } /// @@ -202,7 +202,7 @@ namespace DiscImageChef.Checksums for(int i = 0; i < len; i++) localhashInt = (localhashInt >> 8) ^ localTable[data[i] ^ localhashInt & 0xff]; - localhashInt ^= crc32Seed; + localhashInt ^= CRC32_SEED; BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; hash = BigEndianBitConverter.GetBytes(localhashInt); diff --git a/DiscImageChef.Checksums/CRC64Context.cs b/DiscImageChef.Checksums/CRC64Context.cs index cb17db0c4..c15ad5ebb 100644 --- a/DiscImageChef.Checksums/CRC64Context.cs +++ b/DiscImageChef.Checksums/CRC64Context.cs @@ -38,10 +38,10 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to calculate CRC64 (ECMA). /// - public class CRC64Context + public class Crc64Context { - const ulong crc64Poly = 0xC96C5795D7870F42; - const ulong crc64Seed = 0xFFFFFFFFFFFFFFFF; + const ulong CRC64_POLY = 0xC96C5795D7870F42; + const ulong CRC64_SEED = 0xFFFFFFFFFFFFFFFF; ulong[] table; ulong hashInt; @@ -51,14 +51,14 @@ namespace DiscImageChef.Checksums /// public void Init() { - hashInt = crc64Seed; + hashInt = CRC64_SEED; table = new ulong[256]; for(int i = 0; i < 256; i++) { ulong entry = (ulong)i; for(int j = 0; j < 8; j++) - if((entry & 1) == 1) entry = (entry >> 1) ^ crc64Poly; + if((entry & 1) == 1) entry = (entry >> 1) ^ CRC64_POLY; else entry = entry >> 1; table[i] = entry; @@ -89,7 +89,7 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - hashInt ^= crc64Seed; + hashInt ^= CRC64_SEED; BigEndianBitConverter.IsLittleEndian = BigEndianBitConverter.IsLittleEndian; return BigEndianBitConverter.GetBytes(hashInt); } @@ -99,7 +99,7 @@ namespace DiscImageChef.Checksums /// public string End() { - hashInt ^= crc64Seed; + hashInt ^= CRC64_SEED; StringBuilder crc64Output = new StringBuilder(); BigEndianBitConverter.IsLittleEndian = BigEndianBitConverter.IsLittleEndian; @@ -133,14 +133,14 @@ namespace DiscImageChef.Checksums ulong[] localTable; ulong localhashInt; - localhashInt = crc64Seed; + localhashInt = CRC64_SEED; localTable = new ulong[256]; for(int i = 0; i < 256; i++) { ulong entry = (ulong)i; for(int j = 0; j < 8; j++) - if((entry & 1) == 1) entry = (entry >> 1) ^ crc64Poly; + if((entry & 1) == 1) entry = (entry >> 1) ^ CRC64_POLY; else entry = entry >> 1; localTable[i] = entry; @@ -149,7 +149,7 @@ namespace DiscImageChef.Checksums for(int i = 0; i < fileStream.Length; i++) localhashInt = (localhashInt >> 8) ^ localTable[(ulong)fileStream.ReadByte() ^ localhashInt & 0xffL]; - localhashInt ^= crc64Seed; + localhashInt ^= CRC64_SEED; BigEndianBitConverter.IsLittleEndian = BigEndianBitConverter.IsLittleEndian; hash = BigEndianBitConverter.GetBytes(localhashInt); @@ -170,7 +170,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public static string Data(byte[] data, uint len, out byte[] hash) { - return Data(data, len, out hash, crc64Poly, crc64Seed); + return Data(data, len, out hash, CRC64_POLY, CRC64_SEED); } /// @@ -201,7 +201,7 @@ namespace DiscImageChef.Checksums for(int i = 0; i < len; i++) localhashInt = (localhashInt >> 8) ^ localTable[data[i] ^ localhashInt & 0xff]; - localhashInt ^= crc64Seed; + localhashInt ^= CRC64_SEED; BigEndianBitConverter.IsLittleEndian = BigEndianBitConverter.IsLittleEndian; hash = BigEndianBitConverter.GetBytes(localhashInt); diff --git a/DiscImageChef.Checksums/MD5Context.cs b/DiscImageChef.Checksums/MD5Context.cs index 678986103..0e49ea3f8 100644 --- a/DiscImageChef.Checksums/MD5Context.cs +++ b/DiscImageChef.Checksums/MD5Context.cs @@ -39,16 +39,16 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to .NET MD5. /// - public class MD5Context + public class Md5Context { - MD5 _md5Provider; + MD5 md5Provider; /// /// Initializes the MD5 hash provider /// public void Init() { - _md5Provider = MD5.Create(); + md5Provider = MD5.Create(); } /// @@ -58,7 +58,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - _md5Provider.TransformBlock(data, 0, (int)len, data, 0); + md5Provider.TransformBlock(data, 0, (int)len, data, 0); } /// @@ -75,8 +75,8 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - _md5Provider.TransformFinalBlock(new byte[0], 0, 0); - return _md5Provider.Hash; + md5Provider.TransformFinalBlock(new byte[0], 0, 0); + return md5Provider.Hash; } /// @@ -84,10 +84,10 @@ namespace DiscImageChef.Checksums /// public string End() { - _md5Provider.TransformFinalBlock(new byte[0], 0, 0); + md5Provider.TransformFinalBlock(new byte[0], 0, 0); StringBuilder md5Output = new StringBuilder(); - for(int i = 0; i < _md5Provider.Hash.Length; i++) { md5Output.Append(_md5Provider.Hash[i].ToString("x2")); } + for(int i = 0; i < md5Provider.Hash.Length; i++) { md5Output.Append(md5Provider.Hash[i].ToString("x2")); } return md5Output.ToString(); } @@ -99,7 +99,7 @@ namespace DiscImageChef.Checksums public byte[] File(string filename) { FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = _md5Provider.ComputeHash(fileStream); + byte[] result = md5Provider.ComputeHash(fileStream); fileStream.Close(); return result; } @@ -112,7 +112,7 @@ namespace DiscImageChef.Checksums public string File(string filename, out byte[] hash) { FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = _md5Provider.ComputeHash(fileStream); + hash = md5Provider.ComputeHash(fileStream); StringBuilder md5Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { md5Output.Append(hash[i].ToString("x2")); } @@ -130,7 +130,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public string Data(byte[] data, uint len, out byte[] hash) { - hash = _md5Provider.ComputeHash(data, 0, (int)len); + hash = md5Provider.ComputeHash(data, 0, (int)len); StringBuilder md5Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { md5Output.Append(hash[i].ToString("x2")); } diff --git a/DiscImageChef.Checksums/RIPEMD160Context.cs b/DiscImageChef.Checksums/RIPEMD160Context.cs index 60028593c..b261ecd7f 100644 --- a/DiscImageChef.Checksums/RIPEMD160Context.cs +++ b/DiscImageChef.Checksums/RIPEMD160Context.cs @@ -39,16 +39,16 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to .NET RIPEMD160. /// - public class RIPEMD160Context + public class Ripemd160Context { - RIPEMD160 _ripemd160Provider; + RIPEMD160 ripemd160Provider; /// /// Initializes the RIPEMD160 hash provider /// public void Init() { - _ripemd160Provider = RIPEMD160.Create(); + ripemd160Provider = RIPEMD160.Create(); } /// @@ -58,7 +58,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - _ripemd160Provider.TransformBlock(data, 0, (int)len, data, 0); + ripemd160Provider.TransformBlock(data, 0, (int)len, data, 0); } /// @@ -75,8 +75,8 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - _ripemd160Provider.TransformFinalBlock(new byte[0], 0, 0); - return _ripemd160Provider.Hash; + ripemd160Provider.TransformFinalBlock(new byte[0], 0, 0); + return ripemd160Provider.Hash; } /// @@ -84,12 +84,12 @@ namespace DiscImageChef.Checksums /// public string End() { - _ripemd160Provider.TransformFinalBlock(new byte[0], 0, 0); + ripemd160Provider.TransformFinalBlock(new byte[0], 0, 0); StringBuilder ripemd160Output = new StringBuilder(); - for(int i = 0; i < _ripemd160Provider.Hash.Length; i++) + for(int i = 0; i < ripemd160Provider.Hash.Length; i++) { - ripemd160Output.Append(_ripemd160Provider.Hash[i].ToString("x2")); + ripemd160Output.Append(ripemd160Provider.Hash[i].ToString("x2")); } return ripemd160Output.ToString(); @@ -102,7 +102,7 @@ namespace DiscImageChef.Checksums public byte[] File(string filename) { FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = _ripemd160Provider.ComputeHash(fileStream); + byte[] result = ripemd160Provider.ComputeHash(fileStream); fileStream.Close(); return result; } @@ -115,7 +115,7 @@ namespace DiscImageChef.Checksums public string File(string filename, out byte[] hash) { FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = _ripemd160Provider.ComputeHash(fileStream); + hash = ripemd160Provider.ComputeHash(fileStream); StringBuilder ripemd160Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { ripemd160Output.Append(hash[i].ToString("x2")); } @@ -133,7 +133,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public string Data(byte[] data, uint len, out byte[] hash) { - hash = _ripemd160Provider.ComputeHash(data, 0, (int)len); + hash = ripemd160Provider.ComputeHash(data, 0, (int)len); StringBuilder ripemd160Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { ripemd160Output.Append(hash[i].ToString("x2")); } diff --git a/DiscImageChef.Checksums/ReedSolomon.cs b/DiscImageChef.Checksums/ReedSolomon.cs index e85384dfd..12cb5e08d 100644 --- a/DiscImageChef.Checksums/ReedSolomon.cs +++ b/DiscImageChef.Checksums/ReedSolomon.cs @@ -67,21 +67,21 @@ namespace DiscImageChef.Checksums /* Primitive polynomials - see Lin & Costello, Error Control Coding Appendix A, * and Lee & Messerschmitt, Digital Communication p. 453. */ - int[] Pp; + int[] pp; /* index->polynomial form conversion table */ - int[] Alpha_to; + int[] alpha_to; /* Polynomial->index form conversion table */ - int[] Index_of; + int[] index_of; /* Generator polynomial g(x) * Degree of g(x) = 2*TT * has roots @**B0, @**(B0+1), ... ,@^(B0+2*TT-1) */ - int[] Gg; - int MM, KK, NN; + int[] gg; + int mm, kk, nn; /* No legal value in index form represents zero, so * we need a special value for this purpose */ - int A0; + int a0; bool initialized; /* Alpha exponent for the first root of the generator polynomial */ const int B0 = 1; @@ -89,66 +89,66 @@ namespace DiscImageChef.Checksums /// /// Initializes the Reed-Solomon with RS(n,k) with GF(2^m) /// - public void InitRS(int n, int k, int m) + public void InitRs(int n, int k, int m) { switch(m) { case 2: - Pp = new[] {1, 1, 1}; + pp = new[] {1, 1, 1}; break; case 3: - Pp = new[] {1, 1, 0, 1}; + pp = new[] {1, 1, 0, 1}; break; case 4: - Pp = new[] {1, 1, 0, 0, 1}; + pp = new[] {1, 1, 0, 0, 1}; break; case 5: - Pp = new[] {1, 0, 1, 0, 0, 1}; + pp = new[] {1, 0, 1, 0, 0, 1}; break; case 6: - Pp = new[] {1, 1, 0, 0, 0, 0, 1}; + pp = new[] {1, 1, 0, 0, 0, 0, 1}; break; case 7: - Pp = new[] {1, 0, 0, 1, 0, 0, 0, 1}; + pp = new[] {1, 0, 0, 1, 0, 0, 0, 1}; break; case 8: - Pp = new[] {1, 0, 1, 1, 1, 0, 0, 0, 1}; + pp = new[] {1, 0, 1, 1, 1, 0, 0, 0, 1}; break; case 9: - Pp = new[] {1, 0, 0, 0, 1, 0, 0, 0, 0, 1}; + pp = new[] {1, 0, 0, 0, 1, 0, 0, 0, 0, 1}; break; case 10: - Pp = new[] {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1}; + pp = new[] {1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1}; break; case 11: - Pp = new[] {1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}; + pp = new[] {1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}; break; case 12: - Pp = new[] {1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}; + pp = new[] {1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1}; break; case 13: - Pp = new[] {1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}; + pp = new[] {1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1}; break; case 14: - Pp = new[] {1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1}; + pp = new[] {1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1}; break; case 15: - Pp = new[] {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; + pp = new[] {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; break; case 16: - Pp = new[] {1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1}; + pp = new[] {1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1}; break; default: throw new ArgumentOutOfRangeException(nameof(m), "m must be between 2 and 16 inclusive"); } - MM = m; - KK = k; - NN = n; - A0 = n; - Alpha_to = new int[n + 1]; - Index_of = new int[n + 1]; + mm = m; + kk = k; + nn = n; + a0 = n; + alpha_to = new int[n + 1]; + index_of = new int[n + 1]; - Gg = new int[NN - KK + 1]; + gg = new int[nn - kk + 1]; generate_gf(); gen_poly(); @@ -156,35 +156,35 @@ namespace DiscImageChef.Checksums initialized = true; } - int modnn(int x) + int Modnn(int x) { - while(x >= NN) + while(x >= nn) { - x -= NN; - x = (x >> MM) + (x & NN); + x -= nn; + x = (x >> mm) + (x & nn); } return x; } - static int min(int a, int b) + static int Min(int a, int b) { return ((a) < (b) ? (a) : (b)); } - static void CLEAR(ref int[] a, int n) + static void Clear(ref int[] a, int n) { int ci; for(ci = (n) - 1; ci >= 0; ci--) (a)[ci] = 0; } - static void COPY(ref int[] a, ref int[] b, int n) + static void Copy(ref int[] a, ref int[] b, int n) { int ci; for(ci = (n) - 1; ci >= 0; ci--) (a)[ci] = (b)[ci]; } - static void COPYDOWN(ref int[] a, ref int[] b, int n) + static void Copydown(ref int[] a, ref int[] b, int n) { int ci; for(ci = (n) - 1; ci >= 0; ci--) (a)[ci] = (b)[ci]; @@ -225,32 +225,32 @@ namespace DiscImageChef.Checksums int i, mask; mask = 1; - Alpha_to[MM] = 0; - for(i = 0; i < MM; i++) + alpha_to[mm] = 0; + for(i = 0; i < mm; i++) { - Alpha_to[i] = mask; - Index_of[Alpha_to[i]] = i; + alpha_to[i] = mask; + index_of[alpha_to[i]] = i; /* If Pp[i] == 1 then, term @^i occurs in poly-repr of @^MM */ - if(Pp[i] != 0) Alpha_to[MM] ^= mask; /* Bit-wise EXOR operation */ + if(pp[i] != 0) alpha_to[mm] ^= mask; /* Bit-wise EXOR operation */ mask <<= 1; /* single left-shift */ } - Index_of[Alpha_to[MM]] = MM; + index_of[alpha_to[mm]] = mm; /* * Have obtained poly-repr of @^MM. Poly-repr of @^(i+1) is given by * poly-repr of @^i shifted left one-bit and accounting for any @^MM * term that may occur when poly-repr of @^i is shifted. */ mask >>= 1; - for(i = MM + 1; i < NN; i++) + for(i = mm + 1; i < nn; i++) { - if(Alpha_to[i - 1] >= mask) Alpha_to[i] = Alpha_to[MM] ^ ((Alpha_to[i - 1] ^ mask) << 1); - else Alpha_to[i] = Alpha_to[i - 1] << 1; - Index_of[Alpha_to[i]] = i; + if(alpha_to[i - 1] >= mask) alpha_to[i] = alpha_to[mm] ^ ((alpha_to[i - 1] ^ mask) << 1); + else alpha_to[i] = alpha_to[i - 1] << 1; + index_of[alpha_to[i]] = i; } - Index_of[0] = A0; - Alpha_to[NN] = 0; + index_of[0] = a0; + alpha_to[nn] = 0; } /* @@ -270,23 +270,23 @@ namespace DiscImageChef.Checksums { int i, j; - Gg[0] = Alpha_to[B0]; - Gg[1] = 1; /* g(x) = (X+@**B0) initially */ - for(i = 2; i <= NN - KK; i++) + gg[0] = alpha_to[B0]; + gg[1] = 1; /* g(x) = (X+@**B0) initially */ + for(i = 2; i <= nn - kk; i++) { - Gg[i] = 1; + gg[i] = 1; /* * Below multiply (Gg[0]+Gg[1]*x + ... +Gg[i]x^i) by * (@**(B0+i-1) + x) */ for(j = i - 1; j > 0; j--) - if(Gg[j] != 0) Gg[j] = Gg[j - 1] ^ Alpha_to[modnn((Index_of[Gg[j]]) + B0 + i - 1)]; - else Gg[j] = Gg[j - 1]; + if(gg[j] != 0) gg[j] = gg[j - 1] ^ alpha_to[Modnn((index_of[gg[j]]) + B0 + i - 1)]; + else gg[j] = gg[j - 1]; /* Gg[0] can never be zero */ - Gg[0] = Alpha_to[modnn((Index_of[Gg[0]]) + B0 + i - 1)]; + gg[0] = alpha_to[Modnn((index_of[gg[0]]) + B0 + i - 1)]; } /* convert Gg[] to index form for quicker encoding */ - for(i = 0; i <= NN - KK; i++) Gg[i] = Index_of[Gg[i]]; + for(i = 0; i <= nn - kk; i++) gg[i] = index_of[gg[i]]; } /* @@ -309,28 +309,28 @@ namespace DiscImageChef.Checksums { int i, j; int feedback; - bb = new int[NN - KK]; + bb = new int[nn - kk]; - CLEAR(ref bb, NN - KK); - for(i = KK - 1; i >= 0; i--) + Clear(ref bb, nn - kk); + for(i = kk - 1; i >= 0; i--) { - if(MM != 8) { if(data[i] > NN) return -1; /* Illegal symbol */ } + if(mm != 8) { if(data[i] > nn) return -1; /* Illegal symbol */ } - feedback = Index_of[data[i] ^ bb[NN - KK - 1]]; - if(feedback != A0) + feedback = index_of[data[i] ^ bb[nn - kk - 1]]; + if(feedback != a0) { /* feedback term is non-zero */ - for(j = NN - KK - 1; j > 0; j--) - if(Gg[j] != A0) bb[j] = bb[j - 1] ^ Alpha_to[modnn(Gg[j] + feedback)]; + for(j = nn - kk - 1; j > 0; j--) + if(gg[j] != a0) bb[j] = bb[j - 1] ^ alpha_to[Modnn(gg[j] + feedback)]; else bb[j] = bb[j - 1]; - bb[0] = Alpha_to[modnn(Gg[0] + feedback)]; + bb[0] = alpha_to[Modnn(gg[0] + feedback)]; } else { /* feedback term is zero. encoder becomes a * single-byte shifter */ - for(j = NN - KK - 1; j > 0; j--) bb[j] = bb[j - 1]; + for(j = nn - kk - 1; j > 0; j--) bb[j] = bb[j - 1]; bb[0] = 0; } @@ -360,52 +360,52 @@ namespace DiscImageChef.Checksums /// /// Returns corrected symbols, -1 if illegal or uncorrectable /// Data symbols. - /// Position of erasures. - /// Number of erasures. - public int eras_dec_rs(ref int[] data, out int[] eras_pos, int no_eras) + /// Position of erasures. + /// Number of erasures. + public int eras_dec_rs(ref int[] data, out int[] erasPos, int noEras) { if(initialized) { - eras_pos = new int[NN - KK]; - int deg_lambda, el, deg_omega; + erasPos = new int[nn - kk]; + int degLambda, el, degOmega; int i, j, r; - int u, q, tmp, num1, num2, den, discr_r; - int[] recd = new int[NN]; - int[] lambda = new int[NN - KK + 1]; /* Err+Eras Locator poly */ - int[] s = new int[NN - KK + 1]; /* syndrome poly */ - int[] b = new int[NN - KK + 1]; - int[] t = new int[NN - KK + 1]; - int[] omega = new int[NN - KK + 1]; - int[] root = new int[NN - KK]; - int[] reg = new int[NN - KK + 1]; - int[] loc = new int[NN - KK]; - int syn_error, count; + int u, q, tmp, num1, num2, den, discrR; + int[] recd = new int[nn]; + int[] lambda = new int[nn - kk + 1]; /* Err+Eras Locator poly */ + int[] s = new int[nn - kk + 1]; /* syndrome poly */ + int[] b = new int[nn - kk + 1]; + int[] t = new int[nn - kk + 1]; + int[] omega = new int[nn - kk + 1]; + int[] root = new int[nn - kk]; + int[] reg = new int[nn - kk + 1]; + int[] loc = new int[nn - kk]; + int synError, count; /* data[] is in polynomial form, copy and convert to index form */ - for(i = NN - 1; i >= 0; i--) + for(i = nn - 1; i >= 0; i--) { - if(MM != 8) { if(data[i] > NN) return -1; /* Illegal symbol */ } + if(mm != 8) { if(data[i] > nn) return -1; /* Illegal symbol */ } - recd[i] = Index_of[data[i]]; + recd[i] = index_of[data[i]]; } /* first form the syndromes; i.e., evaluate recd(x) at roots of g(x) * namely @**(B0+i), i = 0, ... ,(NN-KK-1) */ - syn_error = 0; - for(i = 1; i <= NN - KK; i++) + synError = 0; + for(i = 1; i <= nn - kk; i++) { tmp = 0; - for(j = 0; j < NN; j++) - if(recd[j] != A0) /* recd[j] in index form */ - tmp ^= Alpha_to[modnn(recd[j] + (B0 + i - 1) * j)]; + for(j = 0; j < nn; j++) + if(recd[j] != a0) /* recd[j] in index form */ + tmp ^= alpha_to[Modnn(recd[j] + (B0 + i - 1) * j)]; - syn_error |= tmp; /* set flag if non-zero syndrome => + synError |= tmp; /* set flag if non-zero syndrome => * error */ /* store syndrome in index form */ - s[i] = Index_of[tmp]; + s[i] = index_of[tmp]; } - if(syn_error == 0) + if(synError == 0) { /* * if syndrome is zero, data[] is a codeword and there are no @@ -414,35 +414,35 @@ namespace DiscImageChef.Checksums return 0; } - CLEAR(ref lambda, NN - KK); + Clear(ref lambda, nn - kk); lambda[0] = 1; - if(no_eras > 0) + if(noEras > 0) { /* Init lambda to be the erasure locator polynomial */ - lambda[1] = Alpha_to[eras_pos[0]]; - for(i = 1; i < no_eras; i++) + lambda[1] = alpha_to[erasPos[0]]; + for(i = 1; i < noEras; i++) { - u = eras_pos[i]; + u = erasPos[i]; for(j = i + 1; j > 0; j--) { - tmp = Index_of[lambda[j - 1]]; - if(tmp != A0) lambda[j] ^= Alpha_to[modnn(u + tmp)]; + tmp = index_of[lambda[j - 1]]; + if(tmp != a0) lambda[j] ^= alpha_to[Modnn(u + tmp)]; } } #if DEBUG /* find roots of the erasure location polynomial */ - for(i = 1; i <= no_eras; i++) reg[i] = Index_of[lambda[i]]; + for(i = 1; i <= noEras; i++) reg[i] = index_of[lambda[i]]; count = 0; - for(i = 1; i <= NN; i++) + for(i = 1; i <= nn; i++) { q = 1; - for(j = 1; j <= no_eras; j++) - if(reg[j] != A0) + for(j = 1; j <= noEras; j++) + if(reg[j] != a0) { - reg[j] = modnn(reg[j] + j); - q ^= Alpha_to[reg[j]]; + reg[j] = Modnn(reg[j] + j); + q ^= alpha_to[reg[j]]; } if(q == 0) @@ -451,12 +451,12 @@ namespace DiscImageChef.Checksums * number indices */ root[count] = i; - loc[count] = NN - i; + loc[count] = nn - i; count++; } } - if(count != no_eras) + if(count != noEras) { DicConsole.DebugWriteLine("Reed Solomon", "\n lambda(x) is WRONG\n"); return -1; @@ -470,95 +470,95 @@ namespace DiscImageChef.Checksums #endif } - for(i = 0; i < NN - KK + 1; i++) b[i] = Index_of[lambda[i]]; + for(i = 0; i < nn - kk + 1; i++) b[i] = index_of[lambda[i]]; /* * Begin Berlekamp-Massey algorithm to determine error+erasure * locator polynomial */ - r = no_eras; - el = no_eras; - while(++r <= NN - KK) + r = noEras; + el = noEras; + while(++r <= nn - kk) { /* r is the step number */ /* Compute discrepancy at the r-th step in poly-form */ - discr_r = 0; + discrR = 0; for(i = 0; i < r; i++) { - if((lambda[i] != 0) && (s[r - i] != A0)) + if((lambda[i] != 0) && (s[r - i] != a0)) { - discr_r ^= Alpha_to[modnn(Index_of[lambda[i]] + s[r - i])]; + discrR ^= alpha_to[Modnn(index_of[lambda[i]] + s[r - i])]; } } - discr_r = Index_of[discr_r]; /* Index form */ - if(discr_r == A0) + discrR = index_of[discrR]; /* Index form */ + if(discrR == a0) { /* 2 lines below: B(x) <-- x*B(x) */ - COPYDOWN(ref b, ref b, NN - KK); - b[0] = A0; + Copydown(ref b, ref b, nn - kk); + b[0] = a0; } else { /* 7 lines below: T(x) <-- lambda(x) - discr_r*x*b(x) */ t[0] = lambda[0]; - for(i = 0; i < NN - KK; i++) + for(i = 0; i < nn - kk; i++) { - if(b[i] != A0) t[i + 1] = lambda[i + 1] ^ Alpha_to[modnn(discr_r + b[i])]; + if(b[i] != a0) t[i + 1] = lambda[i + 1] ^ alpha_to[Modnn(discrR + b[i])]; else t[i + 1] = lambda[i + 1]; } - if(2 * el <= r + no_eras - 1) + if(2 * el <= r + noEras - 1) { - el = r + no_eras - el; + el = r + noEras - el; /* * 2 lines below: B(x) <-- inv(discr_r) * * lambda(x) */ - for(i = 0; i <= NN - KK; i++) - b[i] = (lambda[i] == 0) ? A0 : modnn(Index_of[lambda[i]] - discr_r + NN); + for(i = 0; i <= nn - kk; i++) + b[i] = (lambda[i] == 0) ? a0 : Modnn(index_of[lambda[i]] - discrR + nn); } else { /* 2 lines below: B(x) <-- x*B(x) */ - COPYDOWN(ref b, ref b, NN - KK); - b[0] = A0; + Copydown(ref b, ref b, nn - kk); + b[0] = a0; } - COPY(ref lambda, ref t, NN - KK + 1); + Copy(ref lambda, ref t, nn - kk + 1); } } /* Convert lambda to index form and compute deg(lambda(x)) */ - deg_lambda = 0; - for(i = 0; i < NN - KK + 1; i++) + degLambda = 0; + for(i = 0; i < nn - kk + 1; i++) { - lambda[i] = Index_of[lambda[i]]; - if(lambda[i] != A0) deg_lambda = i; + lambda[i] = index_of[lambda[i]]; + if(lambda[i] != a0) degLambda = i; } /* * Find roots of the error+erasure locator polynomial. By Chien * Search */ int temp = reg[0]; - COPY(ref reg, ref lambda, NN - KK); + Copy(ref reg, ref lambda, nn - kk); reg[0] = temp; count = 0; /* Number of roots of lambda(x) */ - for(i = 1; i <= NN; i++) + for(i = 1; i <= nn; i++) { q = 1; - for(j = deg_lambda; j > 0; j--) - if(reg[j] != A0) + for(j = degLambda; j > 0; j--) + if(reg[j] != a0) { - reg[j] = modnn(reg[j] + j); - q ^= Alpha_to[reg[j]]; + reg[j] = Modnn(reg[j] + j); + q ^= alpha_to[reg[j]]; } if(q == 0) { /* store root (index-form) and error location number */ root[count] = i; - loc[count] = NN - i; + loc[count] = nn - i; count++; } } @@ -570,7 +570,7 @@ namespace DiscImageChef.Checksums DicConsole.DebugWriteLine("Reed Solomon", "\n"); #endif - if(deg_lambda != count) + if(degLambda != count) { /* * deg(lambda) unequal to number of roots => uncorrectable @@ -582,21 +582,21 @@ namespace DiscImageChef.Checksums * Compute err+eras evaluator poly omega(x) = s(x)*lambda(x) (modulo * x**(NN-KK)). in index form. Also find deg(omega). */ - deg_omega = 0; - for(i = 0; i < NN - KK; i++) + degOmega = 0; + for(i = 0; i < nn - kk; i++) { tmp = 0; - j = (deg_lambda < i) ? deg_lambda : i; + j = (degLambda < i) ? degLambda : i; for(; j >= 0; j--) { - if((s[i + 1 - j] != A0) && (lambda[j] != A0)) tmp ^= Alpha_to[modnn(s[i + 1 - j] + lambda[j])]; + if((s[i + 1 - j] != a0) && (lambda[j] != a0)) tmp ^= alpha_to[Modnn(s[i + 1 - j] + lambda[j])]; } - if(tmp != 0) deg_omega = i; - omega[i] = Index_of[tmp]; + if(tmp != 0) degOmega = i; + omega[i] = index_of[tmp]; } - omega[NN - KK] = A0; + omega[nn - kk] = a0; /* * Compute error values in poly-form. num1 = omega(inv(X(l))), num2 = @@ -605,18 +605,18 @@ namespace DiscImageChef.Checksums for(j = count - 1; j >= 0; j--) { num1 = 0; - for(i = deg_omega; i >= 0; i--) + for(i = degOmega; i >= 0; i--) { - if(omega[i] != A0) num1 ^= Alpha_to[modnn(omega[i] + i * root[j])]; + if(omega[i] != a0) num1 ^= alpha_to[Modnn(omega[i] + i * root[j])]; } - num2 = Alpha_to[modnn(root[j] * (B0 - 1) + NN)]; + num2 = alpha_to[Modnn(root[j] * (B0 - 1) + nn)]; den = 0; /* lambda[i+1] for i even is the formal derivative lambda_pr of lambda[i] */ - for(i = min(deg_lambda, NN - KK - 1) & ~1; i >= 0; i -= 2) + for(i = Min(degLambda, nn - kk - 1) & ~1; i >= 0; i -= 2) { - if(lambda[i + 1] != A0) den ^= Alpha_to[modnn(lambda[i + 1] + i * root[j])]; + if(lambda[i + 1] != a0) den ^= alpha_to[Modnn(lambda[i + 1] + i * root[j])]; } if(den == 0) @@ -627,7 +627,7 @@ namespace DiscImageChef.Checksums /* Apply error to data */ if(num1 != 0) { - data[loc[j]] ^= Alpha_to[modnn(Index_of[num1] + Index_of[num2] + NN - Index_of[den])]; + data[loc[j]] ^= alpha_to[Modnn(index_of[num1] + index_of[num2] + nn - index_of[den])]; } } diff --git a/DiscImageChef.Checksums/SHA1Context.cs b/DiscImageChef.Checksums/SHA1Context.cs index ce3db615b..340913463 100644 --- a/DiscImageChef.Checksums/SHA1Context.cs +++ b/DiscImageChef.Checksums/SHA1Context.cs @@ -39,16 +39,16 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to .NET SHA1. /// - public class SHA1Context + public class Sha1Context { - SHA1 _sha1Provider; + SHA1 sha1Provider; /// /// Initializes the SHA1 hash provider /// public void Init() { - _sha1Provider = SHA1.Create(); + sha1Provider = SHA1.Create(); } /// @@ -58,7 +58,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - _sha1Provider.TransformBlock(data, 0, (int)len, data, 0); + sha1Provider.TransformBlock(data, 0, (int)len, data, 0); } /// @@ -75,8 +75,8 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - _sha1Provider.TransformFinalBlock(new byte[0], 0, 0); - return _sha1Provider.Hash; + sha1Provider.TransformFinalBlock(new byte[0], 0, 0); + return sha1Provider.Hash; } /// @@ -84,12 +84,12 @@ namespace DiscImageChef.Checksums /// public string End() { - _sha1Provider.TransformFinalBlock(new byte[0], 0, 0); + sha1Provider.TransformFinalBlock(new byte[0], 0, 0); StringBuilder sha1Output = new StringBuilder(); - for(int i = 0; i < _sha1Provider.Hash.Length; i++) + for(int i = 0; i < sha1Provider.Hash.Length; i++) { - sha1Output.Append(_sha1Provider.Hash[i].ToString("x2")); + sha1Output.Append(sha1Provider.Hash[i].ToString("x2")); } return sha1Output.ToString(); @@ -102,7 +102,7 @@ namespace DiscImageChef.Checksums public byte[] File(string filename) { FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = _sha1Provider.ComputeHash(fileStream); + byte[] result = sha1Provider.ComputeHash(fileStream); fileStream.Close(); return result; } @@ -115,7 +115,7 @@ namespace DiscImageChef.Checksums public string File(string filename, out byte[] hash) { FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = _sha1Provider.ComputeHash(fileStream); + hash = sha1Provider.ComputeHash(fileStream); StringBuilder sha1Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha1Output.Append(hash[i].ToString("x2")); } @@ -133,7 +133,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public string Data(byte[] data, uint len, out byte[] hash) { - hash = _sha1Provider.ComputeHash(data, 0, (int)len); + hash = sha1Provider.ComputeHash(data, 0, (int)len); StringBuilder sha1Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha1Output.Append(hash[i].ToString("x2")); } diff --git a/DiscImageChef.Checksums/SHA256Context.cs b/DiscImageChef.Checksums/SHA256Context.cs index c0e0df57c..026183e1a 100644 --- a/DiscImageChef.Checksums/SHA256Context.cs +++ b/DiscImageChef.Checksums/SHA256Context.cs @@ -39,16 +39,16 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to .NET SHA256. /// - public class SHA256Context + public class Sha256Context { - SHA256 _sha256Provider; + SHA256 sha256Provider; /// /// Initializes the SHA256 hash provider /// public void Init() { - _sha256Provider = SHA256.Create(); + sha256Provider = SHA256.Create(); } /// @@ -58,7 +58,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - _sha256Provider.TransformBlock(data, 0, (int)len, data, 0); + sha256Provider.TransformBlock(data, 0, (int)len, data, 0); } /// @@ -75,8 +75,8 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - _sha256Provider.TransformFinalBlock(new byte[0], 0, 0); - return _sha256Provider.Hash; + sha256Provider.TransformFinalBlock(new byte[0], 0, 0); + return sha256Provider.Hash; } /// @@ -84,12 +84,12 @@ namespace DiscImageChef.Checksums /// public string End() { - _sha256Provider.TransformFinalBlock(new byte[0], 0, 0); + sha256Provider.TransformFinalBlock(new byte[0], 0, 0); StringBuilder sha256Output = new StringBuilder(); - for(int i = 0; i < _sha256Provider.Hash.Length; i++) + for(int i = 0; i < sha256Provider.Hash.Length; i++) { - sha256Output.Append(_sha256Provider.Hash[i].ToString("x2")); + sha256Output.Append(sha256Provider.Hash[i].ToString("x2")); } return sha256Output.ToString(); @@ -102,7 +102,7 @@ namespace DiscImageChef.Checksums public byte[] File(string filename) { FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = _sha256Provider.ComputeHash(fileStream); + byte[] result = sha256Provider.ComputeHash(fileStream); fileStream.Close(); return result; } @@ -115,7 +115,7 @@ namespace DiscImageChef.Checksums public string File(string filename, out byte[] hash) { FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = _sha256Provider.ComputeHash(fileStream); + hash = sha256Provider.ComputeHash(fileStream); StringBuilder sha256Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha256Output.Append(hash[i].ToString("x2")); } @@ -133,7 +133,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public string Data(byte[] data, uint len, out byte[] hash) { - hash = _sha256Provider.ComputeHash(data, 0, (int)len); + hash = sha256Provider.ComputeHash(data, 0, (int)len); StringBuilder sha256Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha256Output.Append(hash[i].ToString("x2")); } diff --git a/DiscImageChef.Checksums/SHA384Context.cs b/DiscImageChef.Checksums/SHA384Context.cs index 847680672..c7c2a434c 100644 --- a/DiscImageChef.Checksums/SHA384Context.cs +++ b/DiscImageChef.Checksums/SHA384Context.cs @@ -39,16 +39,16 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to .NET SHA384. /// - public class SHA384Context + public class Sha384Context { - SHA384 _sha384Provider; + SHA384 sha384Provider; /// /// Initializes the SHA384 hash provider /// public void Init() { - _sha384Provider = SHA384.Create(); + sha384Provider = SHA384.Create(); } /// @@ -58,7 +58,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - _sha384Provider.TransformBlock(data, 0, (int)len, data, 0); + sha384Provider.TransformBlock(data, 0, (int)len, data, 0); } /// @@ -75,8 +75,8 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - _sha384Provider.TransformFinalBlock(new byte[0], 0, 0); - return _sha384Provider.Hash; + sha384Provider.TransformFinalBlock(new byte[0], 0, 0); + return sha384Provider.Hash; } /// @@ -84,12 +84,12 @@ namespace DiscImageChef.Checksums /// public string End() { - _sha384Provider.TransformFinalBlock(new byte[0], 0, 0); + sha384Provider.TransformFinalBlock(new byte[0], 0, 0); StringBuilder sha384Output = new StringBuilder(); - for(int i = 0; i < _sha384Provider.Hash.Length; i++) + for(int i = 0; i < sha384Provider.Hash.Length; i++) { - sha384Output.Append(_sha384Provider.Hash[i].ToString("x2")); + sha384Output.Append(sha384Provider.Hash[i].ToString("x2")); } return sha384Output.ToString(); @@ -102,7 +102,7 @@ namespace DiscImageChef.Checksums public byte[] File(string filename) { FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = _sha384Provider.ComputeHash(fileStream); + byte[] result = sha384Provider.ComputeHash(fileStream); fileStream.Close(); return result; } @@ -115,7 +115,7 @@ namespace DiscImageChef.Checksums public string File(string filename, out byte[] hash) { FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = _sha384Provider.ComputeHash(fileStream); + hash = sha384Provider.ComputeHash(fileStream); StringBuilder sha384Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha384Output.Append(hash[i].ToString("x2")); } @@ -133,7 +133,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public string Data(byte[] data, uint len, out byte[] hash) { - hash = _sha384Provider.ComputeHash(data, 0, (int)len); + hash = sha384Provider.ComputeHash(data, 0, (int)len); StringBuilder sha384Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha384Output.Append(hash[i].ToString("x2")); } diff --git a/DiscImageChef.Checksums/SHA512Context.cs b/DiscImageChef.Checksums/SHA512Context.cs index 1d049c2db..8567c705f 100644 --- a/DiscImageChef.Checksums/SHA512Context.cs +++ b/DiscImageChef.Checksums/SHA512Context.cs @@ -39,16 +39,16 @@ namespace DiscImageChef.Checksums /// /// Provides a UNIX similar API to .NET SHA512. /// - public class SHA512Context + public class Sha512Context { - SHA512 _sha512Provider; + SHA512 sha512Provider; /// /// Initializes the SHA512 hash provider /// public void Init() { - _sha512Provider = SHA512.Create(); + sha512Provider = SHA512.Create(); } /// @@ -58,7 +58,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - _sha512Provider.TransformBlock(data, 0, (int)len, data, 0); + sha512Provider.TransformBlock(data, 0, (int)len, data, 0); } /// @@ -75,8 +75,8 @@ namespace DiscImageChef.Checksums /// public byte[] Final() { - _sha512Provider.TransformFinalBlock(new byte[0], 0, 0); - return _sha512Provider.Hash; + sha512Provider.TransformFinalBlock(new byte[0], 0, 0); + return sha512Provider.Hash; } /// @@ -84,12 +84,12 @@ namespace DiscImageChef.Checksums /// public string End() { - _sha512Provider.TransformFinalBlock(new byte[0], 0, 0); + sha512Provider.TransformFinalBlock(new byte[0], 0, 0); StringBuilder sha512Output = new StringBuilder(); - for(int i = 0; i < _sha512Provider.Hash.Length; i++) + for(int i = 0; i < sha512Provider.Hash.Length; i++) { - sha512Output.Append(_sha512Provider.Hash[i].ToString("x2")); + sha512Output.Append(sha512Provider.Hash[i].ToString("x2")); } return sha512Output.ToString(); @@ -102,7 +102,7 @@ namespace DiscImageChef.Checksums public byte[] File(string filename) { FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = _sha512Provider.ComputeHash(fileStream); + byte[] result = sha512Provider.ComputeHash(fileStream); fileStream.Close(); return result; } @@ -115,7 +115,7 @@ namespace DiscImageChef.Checksums public string File(string filename, out byte[] hash) { FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = _sha512Provider.ComputeHash(fileStream); + hash = sha512Provider.ComputeHash(fileStream); StringBuilder sha512Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha512Output.Append(hash[i].ToString("x2")); } @@ -133,7 +133,7 @@ namespace DiscImageChef.Checksums /// Byte array of the hash value. public string Data(byte[] data, uint len, out byte[] hash) { - hash = _sha512Provider.ComputeHash(data, 0, (int)len); + hash = sha512Provider.ComputeHash(data, 0, (int)len); StringBuilder sha512Output = new StringBuilder(); for(int i = 0; i < hash.Length; i++) { sha512Output.Append(hash[i].ToString("x2")); } diff --git a/DiscImageChef.Checksums/SpamSumContext.cs b/DiscImageChef.Checksums/SpamSumContext.cs index edfe7e344..017fe41a0 100644 --- a/DiscImageChef.Checksums/SpamSumContext.cs +++ b/DiscImageChef.Checksums/SpamSumContext.cs @@ -65,14 +65,14 @@ namespace DiscImageChef.Checksums 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x2B, 0x2F }; - struct roll_state + struct RollState { - public byte[] window; + public byte[] Window; // ROLLING_WINDOW - public uint h1; - public uint h2; - public uint h3; - public uint n; + public uint H1; + public uint H2; + public uint H3; + public uint N; } /* A blockhash contains a signature state for a specific (implicit) blocksize. @@ -80,32 +80,32 @@ namespace DiscImageChef.Checksums * FNV hashes, where halfh stops to be reset after digest is SPAMSUM_LENGTH/2 * long. The halfh hash is needed be able to truncate digest for the second * output hash to stay compatible with ssdeep output. */ - struct blockhash_context + struct BlockhashContext { - public uint h; - public uint halfh; - public byte[] digest; + public uint H; + public uint Halfh; + public byte[] Digest; // SPAMSUM_LENGTH - public byte halfdigest; - public uint dlen; + public byte Halfdigest; + public uint Dlen; } - struct fuzzy_state + struct FuzzyState { - public uint bhstart; - public uint bhend; - public blockhash_context[] bh; + public uint Bhstart; + public uint Bhend; + public BlockhashContext[] Bh; //NUM_BLOCKHASHES - public ulong total_size; - public roll_state roll; + public ulong TotalSize; + public RollState Roll; } - fuzzy_state self; + FuzzyState self; void roll_init() { - self.roll = new roll_state(); - self.roll.window = new byte[ROLLING_WINDOW]; + self.Roll = new RollState(); + self.Roll.Window = new byte[ROLLING_WINDOW]; } /// @@ -113,18 +113,18 @@ namespace DiscImageChef.Checksums /// public void Init() { - self = new fuzzy_state(); - self.bh = new blockhash_context[NUM_BLOCKHASHES]; - for(int i = 0; i < NUM_BLOCKHASHES; i++) self.bh[i].digest = new byte[SPAMSUM_LENGTH]; + self = new FuzzyState(); + self.Bh = new BlockhashContext[NUM_BLOCKHASHES]; + for(int i = 0; i < NUM_BLOCKHASHES; i++) self.Bh[i].Digest = new byte[SPAMSUM_LENGTH]; - self.bhstart = 0; - self.bhend = 1; - self.bh[0].h = HASH_INIT; - self.bh[0].halfh = HASH_INIT; - self.bh[0].digest[0] = 0; - self.bh[0].halfdigest = 0; - self.bh[0].dlen = 0; - self.total_size = 0; + self.Bhstart = 0; + self.Bhend = 1; + self.Bh[0].H = HASH_INIT; + self.Bh[0].Halfh = HASH_INIT; + self.Bh[0].Digest[0] = 0; + self.Bh[0].Halfdigest = 0; + self.Bh[0].Dlen = 0; + self.TotalSize = 0; roll_init(); } @@ -140,25 +140,25 @@ namespace DiscImageChef.Checksums */ void roll_hash(byte c) { - self.roll.h2 -= self.roll.h1; - self.roll.h2 += ROLLING_WINDOW * c; + self.Roll.H2 -= self.Roll.H1; + self.Roll.H2 += ROLLING_WINDOW * c; - self.roll.h1 += c; - self.roll.h1 -= self.roll.window[self.roll.n % ROLLING_WINDOW]; + self.Roll.H1 += c; + self.Roll.H1 -= self.Roll.Window[self.Roll.N % ROLLING_WINDOW]; - self.roll.window[self.roll.n % ROLLING_WINDOW] = c; - self.roll.n++; + self.Roll.Window[self.Roll.N % ROLLING_WINDOW] = c; + self.Roll.N++; /* The original spamsum AND'ed this value with 0xFFFFFFFF which * in theory should have no effect. This AND has been removed * for performance (jk) */ - self.roll.h3 <<= 5; - self.roll.h3 ^= c; + self.Roll.H3 <<= 5; + self.Roll.H3 ^= c; } uint roll_sum() { - return self.roll.h1 + self.roll.h2 + self.roll.h3; + return self.Roll.H1 + self.Roll.H2 + self.Roll.H3; } /* A simple non-rolling hash, based on the FNV hash. */ @@ -176,35 +176,35 @@ namespace DiscImageChef.Checksums { uint obh, nbh; - if(self.bhend >= NUM_BLOCKHASHES) return; + if(self.Bhend >= NUM_BLOCKHASHES) return; - if(self.bhend == 0) // assert + if(self.Bhend == 0) // assert throw new Exception("Assertion failed"); - obh = self.bhend - 1; - nbh = self.bhend; - self.bh[nbh].h = self.bh[obh].h; - self.bh[nbh].halfh = self.bh[obh].halfh; - self.bh[nbh].digest[0] = 0; - self.bh[nbh].halfdigest = 0; - self.bh[nbh].dlen = 0; - ++self.bhend; + obh = self.Bhend - 1; + nbh = self.Bhend; + self.Bh[nbh].H = self.Bh[obh].H; + self.Bh[nbh].Halfh = self.Bh[obh].Halfh; + self.Bh[nbh].Digest[0] = 0; + self.Bh[nbh].Halfdigest = 0; + self.Bh[nbh].Dlen = 0; + ++self.Bhend; } void fuzzy_try_reduce_blockhash() { - if(self.bhstart >= self.bhend) throw new Exception("Assertion failed"); + if(self.Bhstart >= self.Bhend) throw new Exception("Assertion failed"); - if(self.bhend - self.bhstart < 2) + if(self.Bhend - self.Bhstart < 2) /* Need at least two working hashes. */ return; - if((ulong)SSDEEP_BS(self.bhstart) * SPAMSUM_LENGTH >= self.total_size) + if((ulong)SSDEEP_BS(self.Bhstart) * SPAMSUM_LENGTH >= self.TotalSize) /* Initial blocksize estimate would select this or a smaller * blocksize. */ return; - if(self.bh[self.bhstart + 1].dlen < SPAMSUM_LENGTH / 2) + if(self.Bh[self.Bhstart + 1].Dlen < SPAMSUM_LENGTH / 2) /* Estimate adjustment would select this blocksize. */ return; /* At this point we are clearly no longer interested in the * start_blocksize. Get rid of it. */ - ++self.bhstart; + ++self.Bhstart; } void fuzzy_engine_step(byte c) @@ -217,13 +217,13 @@ namespace DiscImageChef.Checksums roll_hash(c); h = roll_sum(); - for(i = self.bhstart; i < self.bhend; ++i) + for(i = self.Bhstart; i < self.Bhend; ++i) { - self.bh[i].h = sum_hash(c, self.bh[i].h); - self.bh[i].halfh = sum_hash(c, self.bh[i].halfh); + self.Bh[i].H = sum_hash(c, self.Bh[i].H); + self.Bh[i].Halfh = sum_hash(c, self.Bh[i].Halfh); } - for(i = self.bhstart; i < self.bhend; ++i) + for(i = self.Bhstart; i < self.Bhend; ++i) { /* With growing blocksize almost no runs fail the next test. */ if(h % SSDEEP_BS(i) != SSDEEP_BS(i) - 1) @@ -233,15 +233,15 @@ namespace DiscImageChef.Checksums /* We have hit a reset point. We now emit hashes which are * based on all characters in the piece of the message between * the last reset point and this one */ - if(0 == self.bh[i].dlen) + if(0 == self.Bh[i].Dlen) { /* Can only happen 30 times. */ /* First step for this blocksize. Clone next. */ fuzzy_try_fork_blockhash(); } - self.bh[i].digest[self.bh[i].dlen] = b64[self.bh[i].h % 64]; - self.bh[i].halfdigest = b64[self.bh[i].halfh % 64]; - if(self.bh[i].dlen < SPAMSUM_LENGTH - 1) + self.Bh[i].Digest[self.Bh[i].Dlen] = b64[self.Bh[i].H % 64]; + self.Bh[i].Halfdigest = b64[self.Bh[i].Halfh % 64]; + if(self.Bh[i].Dlen < SPAMSUM_LENGTH - 1) { /* We can have a problem with the tail overflowing. The * easiest way to cope with this is to only reset the @@ -249,12 +249,12 @@ namespace DiscImageChef.Checksums * our signature. This has the effect of combining the * last few pieces of the message into a single piece * */ - self.bh[i].digest[++(self.bh[i].dlen)] = 0; - self.bh[i].h = HASH_INIT; - if(self.bh[i].dlen < SPAMSUM_LENGTH / 2) + self.Bh[i].Digest[++(self.Bh[i].Dlen)] = 0; + self.Bh[i].H = HASH_INIT; + if(self.Bh[i].Dlen < SPAMSUM_LENGTH / 2) { - self.bh[i].halfh = HASH_INIT; - self.bh[i].halfdigest = 0; + self.Bh[i].Halfh = HASH_INIT; + self.Bh[i].Halfdigest = 0; } } else fuzzy_try_reduce_blockhash(); @@ -268,7 +268,7 @@ namespace DiscImageChef.Checksums /// Length of buffer to hash. public void Update(byte[] data, uint len) { - self.total_size += len; + self.TotalSize += len; for(int i = 0; i < len; i++) fuzzy_engine_step(data[i]); } @@ -285,28 +285,28 @@ namespace DiscImageChef.Checksums uint fuzzy_digest(out byte[] result) { StringBuilder sb = new StringBuilder(); - uint bi = self.bhstart; + uint bi = self.Bhstart; uint h = roll_sum(); - int i, result_off; + int i, resultOff; int remain = (int)(FUZZY_MAX_RESULT - 1); /* Exclude terminating '\0'. */ result = new byte[FUZZY_MAX_RESULT]; /* Verify that our elimination was not overeager. */ - if(!(bi == 0 || (ulong)SSDEEP_BS(bi) / 2 * SPAMSUM_LENGTH < self.total_size)) + if(!(bi == 0 || (ulong)SSDEEP_BS(bi) / 2 * SPAMSUM_LENGTH < self.TotalSize)) throw new Exception("Assertion failed"); - result_off = 0; + resultOff = 0; /* Initial blocksize guess. */ - while((ulong)SSDEEP_BS(bi) * SPAMSUM_LENGTH < self.total_size) + while((ulong)SSDEEP_BS(bi) * SPAMSUM_LENGTH < self.TotalSize) { ++bi; if(bi >= NUM_BLOCKHASHES) { throw new OverflowException("The input exceeds data types."); } } /* Adapt blocksize guess to actual digest length. */ - while(bi >= self.bhend) --bi; - while(bi > self.bhstart && self.bh[bi].dlen < SPAMSUM_LENGTH / 2) --bi; + while(bi >= self.Bhend) --bi; + while(bi > self.Bhstart && self.Bh[bi].Dlen < SPAMSUM_LENGTH / 2) --bi; - if((bi > 0 && self.bh[bi].dlen < SPAMSUM_LENGTH / 2)) throw new Exception("Assertion failed"); + if((bi > 0 && self.Bh[bi].Dlen < SPAMSUM_LENGTH / 2)) throw new Exception("Assertion failed"); sb.AppendFormat("{0}:", SSDEEP_BS(bi)); i = Encoding.ASCII.GetBytes(sb.ToString()).Length; @@ -318,78 +318,78 @@ namespace DiscImageChef.Checksums Array.Copy(Encoding.ASCII.GetBytes(sb.ToString()), 0, result, 0, i); - result_off += i; + resultOff += i; - i = (int)self.bh[bi].dlen; + i = (int)self.Bh[bi].Dlen; if(i > remain) throw new Exception("Assertion failed"); - Array.Copy(self.bh[bi].digest, 0, result, result_off, i); - result_off += i; + Array.Copy(self.Bh[bi].Digest, 0, result, resultOff, i); + resultOff += i; remain -= i; if(h != 0) { if(remain <= 0) throw new Exception("Assertion failed"); - result[result_off] = b64[self.bh[bi].h % 64]; - if(i < 3 || result[result_off] != result[result_off - 1] || - result[result_off] != result[result_off - 2] || result[result_off] != result[result_off - 3]) + result[resultOff] = b64[self.Bh[bi].H % 64]; + if(i < 3 || result[resultOff] != result[resultOff - 1] || + result[resultOff] != result[resultOff - 2] || result[resultOff] != result[resultOff - 3]) { - ++result_off; + ++resultOff; --remain; } } - else if(self.bh[bi].digest[i] != 0) + else if(self.Bh[bi].Digest[i] != 0) { if(remain <= 0) throw new Exception("Assertion failed"); - result[result_off] = self.bh[bi].digest[i]; - if(i < 3 || result[result_off] != result[result_off - 1] || - result[result_off] != result[result_off - 2] || result[result_off] != result[result_off - 3]) + result[resultOff] = self.Bh[bi].Digest[i]; + if(i < 3 || result[resultOff] != result[resultOff - 1] || + result[resultOff] != result[resultOff - 2] || result[resultOff] != result[resultOff - 3]) { - ++result_off; + ++resultOff; --remain; } } if(remain <= 0) throw new Exception("Assertion failed"); - result[result_off++] = 0x3A; // ':' + result[resultOff++] = 0x3A; // ':' --remain; - if(bi < self.bhend - 1) + if(bi < self.Bhend - 1) { ++bi; - i = (int)self.bh[bi].dlen; + i = (int)self.Bh[bi].Dlen; if(i > remain) throw new Exception("Assertion failed"); - Array.Copy(self.bh[bi].digest, 0, result, result_off, i); - result_off += i; + Array.Copy(self.Bh[bi].Digest, 0, result, resultOff, i); + resultOff += i; remain -= i; if(h != 0) { if(remain <= 0) throw new Exception("Assertion failed"); - h = self.bh[bi].halfh; - result[result_off] = b64[h % 64]; - if(i < 3 || result[result_off] != result[result_off - 1] || - result[result_off] != result[result_off - 2] || result[result_off] != result[result_off - 3]) + h = self.Bh[bi].Halfh; + result[resultOff] = b64[h % 64]; + if(i < 3 || result[resultOff] != result[resultOff - 1] || + result[resultOff] != result[resultOff - 2] || result[resultOff] != result[resultOff - 3]) { - ++result_off; + ++resultOff; --remain; } } else { - i = self.bh[bi].halfdigest; + i = self.Bh[bi].Halfdigest; if(i != 0) { if(remain <= 0) throw new Exception("Assertion failed"); - result[result_off] = (byte)i; - if(i < 3 || result[result_off] != result[result_off - 1] || - result[result_off] != result[result_off - 2] || result[result_off] != result[result_off - 3]) + result[resultOff] = (byte)i; + if(i < 3 || result[resultOff] != result[resultOff - 1] || + result[resultOff] != result[resultOff - 2] || result[resultOff] != result[resultOff - 3]) { - ++result_off; + ++resultOff; --remain; } } @@ -397,16 +397,16 @@ namespace DiscImageChef.Checksums } else if(h != 0) { - if(self.bh[bi].dlen != 0) throw new Exception("Assertion failed"); + if(self.Bh[bi].Dlen != 0) throw new Exception("Assertion failed"); if(remain <= 0) throw new Exception("Assertion failed"); - result[result_off++] = b64[self.bh[bi].h % 64]; + result[resultOff++] = b64[self.Bh[bi].H % 64]; /* No need to bother with FUZZY_FLAG_ELIMSEQ, because this * digest has length 1. */ --remain; } - result[result_off] = 0; + result[resultOff] = 0; return 0; } @@ -482,15 +482,15 @@ namespace DiscImageChef.Checksums } // Converts an ASCII null-terminated string to .NET string - private string CToString(byte[] CString) + private string CToString(byte[] cString) { StringBuilder sb = new StringBuilder(); - for(int i = 0; i < CString.Length; i++) + for(int i = 0; i < cString.Length; i++) { - if(CString[i] == 0) break; + if(cString[i] == 0) break; - sb.Append(Encoding.ASCII.GetString(CString, i, 1)); + sb.Append(Encoding.ASCII.GetString(cString, i, 1)); } return sb.ToString(); diff --git a/DiscImageChef.CommonTypes/MediaType.cs b/DiscImageChef.CommonTypes/MediaType.cs index e5e99a6a1..b091770f6 100644 --- a/DiscImageChef.CommonTypes/MediaType.cs +++ b/DiscImageChef.CommonTypes/MediaType.cs @@ -30,6 +30,8 @@ // Copyright © 2011-2018 Natalia Portillo // ****************************************************************************/ +// ReSharper disable InconsistentNaming +// TODO: Rename contents namespace DiscImageChef.CommonTypes { // Media (disk, cartridge, tape, cassette, etc) types diff --git a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs index 71dcf4f73..776ae6651 100644 --- a/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs +++ b/DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs @@ -33,7 +33,7 @@ namespace DiscImageChef.CommonTypes { #pragma warning disable RECS0063 // Warns when a culture-aware 'StartsWith' call is used by default. - public static class MediaTypeFromSCSI + public static class MediaTypeFromScsi { public static MediaType Get(byte scsiPeripheralType, string vendor, string model, byte mediumType, byte densityCode, ulong blocks, uint blockSize) diff --git a/DiscImageChef.Core/Benchmark.cs b/DiscImageChef.Core/Benchmark.cs index 846d94db4..478129742 100644 --- a/DiscImageChef.Core/Benchmark.cs +++ b/DiscImageChef.Core/Benchmark.cs @@ -39,25 +39,25 @@ namespace DiscImageChef.Core { public struct BenchmarkResults { - public double fillTime; - public double fillSpeed; - public double readTime; - public double readSpeed; - public double entropyTime; - public double entropySpeed; - public Dictionary entries; - public long minMemory; - public long maxMemory; - public double separateTime; - public double separateSpeed; - public double totalTime; - public double totalSpeed; + public double FillTime; + public double FillSpeed; + public double ReadTime; + public double ReadSpeed; + public double EntropyTime; + public double EntropySpeed; + public Dictionary Entries; + public long MinMemory; + public long MaxMemory; + public double SeparateTime; + public double SeparateSpeed; + public double TotalTime; + public double TotalSpeed; } public struct BenchmarkEntry { - public double timeSpan; - public double speed; + public double TimeSpan; + public double Speed; } public static class Benchmark @@ -85,10 +85,10 @@ namespace DiscImageChef.Core public static BenchmarkResults Do(int bufferSize, int blockSize) { BenchmarkResults results = new BenchmarkResults(); - results.entries = new Dictionary(); - results.minMemory = long.MaxValue; - results.maxMemory = 0; - results.separateTime = 0; + results.Entries = new Dictionary(); + results.MinMemory = long.MaxValue; + results.MaxMemory = 0; + results.SeparateTime = 0; MemoryStream ms = new MemoryStream(bufferSize); Random rnd = new Random(); DateTime start; @@ -109,13 +109,13 @@ namespace DiscImageChef.Core EndProgress(); end = DateTime.Now; - results.fillTime = (end - start).TotalSeconds; - results.fillSpeed = (bufferSize / 1048576) / (end - start).TotalSeconds; + results.FillTime = (end - start).TotalSeconds; + results.FillSpeed = (bufferSize / 1048576) / (end - start).TotalSeconds; ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -128,19 +128,19 @@ namespace DiscImageChef.Core EndProgress(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.readTime = (end - start).TotalSeconds; - results.readSpeed = (bufferSize / 1048576) / (end - start).TotalSeconds; + results.ReadTime = (end - start).TotalSeconds; + results.ReadSpeed = (bufferSize / 1048576) / (end - start).TotalSeconds; #region Adler32 ctx = new Adler32Context(); ((Adler32Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -155,25 +155,25 @@ namespace DiscImageChef.Core ((Adler32Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("Adler32", + results.Entries.Add("Adler32", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion Adler32 #region CRC16 - ctx = new CRC16Context(); - ((CRC16Context)ctx).Init(); + ctx = new Crc16Context(); + ((Crc16Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -181,32 +181,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with CRC16.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((CRC16Context)ctx).Update(tmp); + ((Crc16Context)ctx).Update(tmp); } EndProgress(); - ((CRC16Context)ctx).End(); + ((Crc16Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("CRC16", + results.Entries.Add("CRC16", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion CRC16 #region CRC32 - ctx = new CRC32Context(); - ((CRC32Context)ctx).Init(); + ctx = new Crc32Context(); + ((Crc32Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -214,32 +214,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with CRC32.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((CRC32Context)ctx).Update(tmp); + ((Crc32Context)ctx).Update(tmp); } EndProgress(); - ((CRC32Context)ctx).End(); + ((Crc32Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("CRC32", + results.Entries.Add("CRC32", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion CRC32 #region CRC64 - ctx = new CRC64Context(); - ((CRC64Context)ctx).Init(); + ctx = new Crc64Context(); + ((Crc64Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -247,32 +247,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with CRC64.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((CRC64Context)ctx).Update(tmp); + ((Crc64Context)ctx).Update(tmp); } EndProgress(); - ((CRC64Context)ctx).End(); + ((Crc64Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("CRC64", + results.Entries.Add("CRC64", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion CRC64 #region MD5 - ctx = new MD5Context(); - ((MD5Context)ctx).Init(); + ctx = new Md5Context(); + ((Md5Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -280,32 +280,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with MD5.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((MD5Context)ctx).Update(tmp); + ((Md5Context)ctx).Update(tmp); } EndProgress(); - ((MD5Context)ctx).End(); + ((Md5Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("MD5", + results.Entries.Add("MD5", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion MD5 #region RIPEMD160 - ctx = new RIPEMD160Context(); - ((RIPEMD160Context)ctx).Init(); + ctx = new Ripemd160Context(); + ((Ripemd160Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -313,32 +313,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with RIPEMD160.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((RIPEMD160Context)ctx).Update(tmp); + ((Ripemd160Context)ctx).Update(tmp); } EndProgress(); - ((RIPEMD160Context)ctx).End(); + ((Ripemd160Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("RIPEMD160", + results.Entries.Add("RIPEMD160", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion RIPEMD160 #region SHA1 - ctx = new SHA1Context(); - ((SHA1Context)ctx).Init(); + ctx = new Sha1Context(); + ((Sha1Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -346,32 +346,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with SHA1.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((SHA1Context)ctx).Update(tmp); + ((Sha1Context)ctx).Update(tmp); } EndProgress(); - ((SHA1Context)ctx).End(); + ((Sha1Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("SHA1", + results.Entries.Add("SHA1", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion SHA1 #region SHA256 - ctx = new SHA256Context(); - ((SHA256Context)ctx).Init(); + ctx = new Sha256Context(); + ((Sha256Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -379,32 +379,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with SHA256.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((SHA256Context)ctx).Update(tmp); + ((Sha256Context)ctx).Update(tmp); } EndProgress(); - ((SHA256Context)ctx).End(); + ((Sha256Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("SHA256", + results.Entries.Add("SHA256", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion SHA256 #region SHA384 - ctx = new SHA384Context(); - ((SHA384Context)ctx).Init(); + ctx = new Sha384Context(); + ((Sha384Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -412,32 +412,32 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with SHA384.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((SHA384Context)ctx).Update(tmp); + ((Sha384Context)ctx).Update(tmp); } EndProgress(); - ((SHA384Context)ctx).End(); + ((Sha384Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("SHA384", + results.Entries.Add("SHA384", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion SHA384 #region SHA512 - ctx = new SHA512Context(); - ((SHA512Context)ctx).Init(); + ctx = new Sha512Context(); + ((Sha512Context)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -445,23 +445,23 @@ namespace DiscImageChef.Core UpdateProgress("Checksumming block {0} of {1} with SHA512.", i + 1, bufferSize / blockSize); byte[] tmp = new byte[blockSize]; ms.Read(tmp, 0, blockSize); - ((SHA512Context)ctx).Update(tmp); + ((Sha512Context)ctx).Update(tmp); } EndProgress(); - ((SHA512Context)ctx).End(); + ((Sha512Context)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("SHA512", + results.Entries.Add("SHA512", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion SHA512 #region SpamSum @@ -469,8 +469,8 @@ namespace DiscImageChef.Core ((SpamSumContext)ctx).Init(); ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -485,24 +485,24 @@ namespace DiscImageChef.Core ((SpamSumContext)ctx).End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entries.Add("SpamSum", + results.Entries.Add("SpamSum", new BenchmarkEntry() { - timeSpan = (end - start).TotalSeconds, - speed = (bufferSize / 1048576) / (end - start).TotalSeconds + TimeSpan = (end - start).TotalSeconds, + Speed = (bufferSize / 1048576) / (end - start).TotalSeconds }); - results.separateTime += (end - start).TotalSeconds; + results.SeparateTime += (end - start).TotalSeconds; #endregion SpamSum #region Entropy ulong[] entTable = new ulong[256]; ms.Seek(0, SeekOrigin.Begin); mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; start = DateTime.Now; InitProgress(); for(int i = 0; i < bufferSize / blockSize; i++) @@ -525,11 +525,11 @@ namespace DiscImageChef.Core end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.entropyTime = (end - start).TotalSeconds; - results.entropySpeed = (bufferSize / 1048576) / (end - start).TotalSeconds; + results.EntropyTime = (end - start).TotalSeconds; + results.EntropySpeed = (bufferSize / 1048576) / (end - start).TotalSeconds; #endregion Entropy #region Multitasking @@ -551,14 +551,14 @@ namespace DiscImageChef.Core allChecksums.End(); end = DateTime.Now; mem = GC.GetTotalMemory(false); - if(mem > results.maxMemory) results.maxMemory = mem; - if(mem < results.minMemory) results.minMemory = mem; + if(mem > results.MaxMemory) results.MaxMemory = mem; + if(mem < results.MinMemory) results.MinMemory = mem; - results.totalTime = (end - start).TotalSeconds; - results.totalSpeed = (bufferSize / 1048576) / results.totalTime; + results.TotalTime = (end - start).TotalSeconds; + results.TotalSpeed = (bufferSize / 1048576) / results.TotalTime; #endregion - results.separateSpeed = (bufferSize / 1048576) / results.separateTime; + results.SeparateSpeed = (bufferSize / 1048576) / results.SeparateTime; return results; } diff --git a/DiscImageChef.Core/Checksum.cs b/DiscImageChef.Core/Checksum.cs index b79f22ef0..ccf4595c9 100644 --- a/DiscImageChef.Core/Checksum.cs +++ b/DiscImageChef.Core/Checksum.cs @@ -42,31 +42,31 @@ namespace DiscImageChef.Core public enum EnableChecksum { Adler32 = 1, - CRC16 = 2, - CRC32 = 4, - CRC64 = 8, - MD5 = 16, - RIPEMD160 = 32, - SHA1 = 64, - SHA256 = 128, - SHA384 = 256, - SHA512 = 512, + Crc16 = 2, + Crc32 = 4, + Crc64 = 8, + Md5 = 16, + Ripemd160 = 32, + Sha1 = 64, + Sha256 = 128, + Sha384 = 256, + Sha512 = 512, SpamSum = 1024, - All = Adler32 | CRC16 | CRC32 | CRC64 | MD5 | RIPEMD160 | SHA1 | SHA256 | SHA384 | SHA512 | SpamSum + All = Adler32 | Crc16 | Crc32 | Crc64 | Md5 | Ripemd160 | Sha1 | Sha256 | Sha384 | Sha512 | SpamSum } public class Checksum { - Adler32Context adler32ctx; - CRC16Context crc16ctx; - CRC32Context crc32ctx; - CRC64Context crc64ctx; - MD5Context md5ctx; - RIPEMD160Context ripemd160ctx; - SHA1Context sha1ctx; - SHA256Context sha256ctx; - SHA384Context sha384ctx; - SHA512Context sha512ctx; + Adler32Context adler32Ctx; + Crc16Context crc16Ctx; + Crc32Context crc32Ctx; + Crc64Context crc64Ctx; + Md5Context md5Ctx; + Ripemd160Context ripemd160Ctx; + Sha1Context sha1Ctx; + Sha256Context sha256Ctx; + Sha384Context sha384Ctx; + Sha512Context sha512Ctx; SpamSumContext ssctx; Thread adlerThread; @@ -81,17 +81,17 @@ namespace DiscImageChef.Core Thread sha512Thread; Thread spamsumThread; - adlerPacket adlerPkt; - crc16Packet crc16Pkt; - crc32Packet crc32Pkt; - crc64Packet crc64Pkt; - md5Packet md5Pkt; - ripemd160Packet ripemd160Pkt; - sha1Packet sha1Pkt; - sha256Packet sha256Pkt; - sha384Packet sha384Pkt; - sha512Packet sha512Pkt; - spamsumPacket spamsumPkt; + AdlerPacket adlerPkt; + Crc16Packet crc16Pkt; + Crc32Packet crc32Pkt; + Crc64Packet crc64Pkt; + Md5Packet md5Pkt; + Ripemd160Packet ripemd160Pkt; + Sha1Packet sha1Pkt; + Sha256Packet sha256Pkt; + Sha384Packet sha384Pkt; + Sha512Packet sha512Pkt; + SpamsumPacket spamsumPkt; EnableChecksum enabled; @@ -101,169 +101,169 @@ namespace DiscImageChef.Core if(enabled.HasFlag(EnableChecksum.Adler32)) { - adler32ctx = new Adler32Context(); - adlerPkt = new adlerPacket(); - adler32ctx.Init(); - adlerPkt.context = adler32ctx; + adler32Ctx = new Adler32Context(); + adlerPkt = new AdlerPacket(); + adler32Ctx.Init(); + adlerPkt.Context = adler32Ctx; } - if(enabled.HasFlag(EnableChecksum.CRC16)) + if(enabled.HasFlag(EnableChecksum.Crc16)) { - crc16ctx = new CRC16Context(); - crc16Pkt = new crc16Packet(); - crc16ctx.Init(); - crc16Pkt.context = crc16ctx; + crc16Ctx = new Crc16Context(); + crc16Pkt = new Crc16Packet(); + crc16Ctx.Init(); + crc16Pkt.Context = crc16Ctx; } - if(enabled.HasFlag(EnableChecksum.CRC32)) + if(enabled.HasFlag(EnableChecksum.Crc32)) { - crc32ctx = new CRC32Context(); - crc32Pkt = new crc32Packet(); - crc32ctx.Init(); - crc32Pkt.context = crc32ctx; + crc32Ctx = new Crc32Context(); + crc32Pkt = new Crc32Packet(); + crc32Ctx.Init(); + crc32Pkt.Context = crc32Ctx; } - if(enabled.HasFlag(EnableChecksum.CRC64)) + if(enabled.HasFlag(EnableChecksum.Crc64)) { - crc64ctx = new CRC64Context(); - crc64Pkt = new crc64Packet(); - crc64ctx.Init(); - crc64Pkt.context = crc64ctx; + crc64Ctx = new Crc64Context(); + crc64Pkt = new Crc64Packet(); + crc64Ctx.Init(); + crc64Pkt.Context = crc64Ctx; } - if(enabled.HasFlag(EnableChecksum.MD5)) + if(enabled.HasFlag(EnableChecksum.Md5)) { - md5ctx = new MD5Context(); - md5Pkt = new md5Packet(); - md5ctx.Init(); - md5Pkt.context = md5ctx; + md5Ctx = new Md5Context(); + md5Pkt = new Md5Packet(); + md5Ctx.Init(); + md5Pkt.Context = md5Ctx; } - if(enabled.HasFlag(EnableChecksum.RIPEMD160)) + if(enabled.HasFlag(EnableChecksum.Ripemd160)) { - ripemd160ctx = new RIPEMD160Context(); - ripemd160Pkt = new ripemd160Packet(); - ripemd160ctx.Init(); - ripemd160Pkt.context = ripemd160ctx; + ripemd160Ctx = new Ripemd160Context(); + ripemd160Pkt = new Ripemd160Packet(); + ripemd160Ctx.Init(); + ripemd160Pkt.Context = ripemd160Ctx; } - if(enabled.HasFlag(EnableChecksum.SHA1)) + if(enabled.HasFlag(EnableChecksum.Sha1)) { - sha1ctx = new SHA1Context(); - sha1Pkt = new sha1Packet(); - sha1ctx.Init(); - sha1Pkt.context = sha1ctx; + sha1Ctx = new Sha1Context(); + sha1Pkt = new Sha1Packet(); + sha1Ctx.Init(); + sha1Pkt.Context = sha1Ctx; } - if(enabled.HasFlag(EnableChecksum.SHA256)) + if(enabled.HasFlag(EnableChecksum.Sha256)) { - sha256ctx = new SHA256Context(); - sha256Pkt = new sha256Packet(); - sha256ctx.Init(); - sha256Pkt.context = sha256ctx; + sha256Ctx = new Sha256Context(); + sha256Pkt = new Sha256Packet(); + sha256Ctx.Init(); + sha256Pkt.Context = sha256Ctx; } - if(enabled.HasFlag(EnableChecksum.SHA384)) + if(enabled.HasFlag(EnableChecksum.Sha384)) { - sha384ctx = new SHA384Context(); - sha384Pkt = new sha384Packet(); - sha384ctx.Init(); - sha384Pkt.context = sha384ctx; + sha384Ctx = new Sha384Context(); + sha384Pkt = new Sha384Packet(); + sha384Ctx.Init(); + sha384Pkt.Context = sha384Ctx; } - if(enabled.HasFlag(EnableChecksum.SHA512)) + if(enabled.HasFlag(EnableChecksum.Sha512)) { - sha512ctx = new SHA512Context(); - sha512Pkt = new sha512Packet(); - sha512ctx.Init(); - sha512Pkt.context = sha512ctx; + sha512Ctx = new Sha512Context(); + sha512Pkt = new Sha512Packet(); + sha512Ctx.Init(); + sha512Pkt.Context = sha512Ctx; } if(enabled.HasFlag(EnableChecksum.SpamSum)) { ssctx = new SpamSumContext(); - spamsumPkt = new spamsumPacket(); + spamsumPkt = new SpamsumPacket(); ssctx.Init(); - spamsumPkt.context = ssctx; + spamsumPkt.Context = ssctx; } - adlerThread = new Thread(updateAdler); - crc16Thread = new Thread(updateCRC16); - crc32Thread = new Thread(updateCRC32); - crc64Thread = new Thread(updateCRC64); - md5Thread = new Thread(updateMD5); - ripemd160Thread = new Thread(updateRIPEMD160); - sha1Thread = new Thread(updateSHA1); - sha256Thread = new Thread(updateSHA256); - sha384Thread = new Thread(updateSHA384); - sha512Thread = new Thread(updateSHA512); - spamsumThread = new Thread(updateSpamSum); + adlerThread = new Thread(UpdateAdler); + crc16Thread = new Thread(UpdateCrc16); + crc32Thread = new Thread(UpdateCrc32); + crc64Thread = new Thread(UpdateCrc64); + md5Thread = new Thread(UpdateMd5); + ripemd160Thread = new Thread(UpdateRipemd160); + sha1Thread = new Thread(UpdateSha1); + sha256Thread = new Thread(UpdateSha256); + sha384Thread = new Thread(UpdateSha384); + sha512Thread = new Thread(UpdateSha512); + spamsumThread = new Thread(UpdateSpamSum); } public void Update(byte[] data) { if(enabled.HasFlag(EnableChecksum.Adler32)) { - adlerPkt.data = data; + adlerPkt.Data = data; adlerThread.Start(adlerPkt); } - if(enabled.HasFlag(EnableChecksum.CRC16)) + if(enabled.HasFlag(EnableChecksum.Crc16)) { - crc16Pkt.data = data; + crc16Pkt.Data = data; crc16Thread.Start(crc16Pkt); } - if(enabled.HasFlag(EnableChecksum.CRC32)) + if(enabled.HasFlag(EnableChecksum.Crc32)) { - crc32Pkt.data = data; + crc32Pkt.Data = data; crc32Thread.Start(crc32Pkt); } - if(enabled.HasFlag(EnableChecksum.CRC64)) + if(enabled.HasFlag(EnableChecksum.Crc64)) { - crc64Pkt.data = data; + crc64Pkt.Data = data; crc64Thread.Start(crc64Pkt); } - if(enabled.HasFlag(EnableChecksum.MD5)) + if(enabled.HasFlag(EnableChecksum.Md5)) { - md5Pkt.data = data; + md5Pkt.Data = data; md5Thread.Start(md5Pkt); } - if(enabled.HasFlag(EnableChecksum.RIPEMD160)) + if(enabled.HasFlag(EnableChecksum.Ripemd160)) { - ripemd160Pkt.data = data; + ripemd160Pkt.Data = data; ripemd160Thread.Start(ripemd160Pkt); } - if(enabled.HasFlag(EnableChecksum.SHA1)) + if(enabled.HasFlag(EnableChecksum.Sha1)) { - sha1Pkt.data = data; + sha1Pkt.Data = data; sha1Thread.Start(sha1Pkt); } - if(enabled.HasFlag(EnableChecksum.SHA256)) + if(enabled.HasFlag(EnableChecksum.Sha256)) { - sha256Pkt.data = data; + sha256Pkt.Data = data; sha256Thread.Start(sha256Pkt); } - if(enabled.HasFlag(EnableChecksum.SHA384)) + if(enabled.HasFlag(EnableChecksum.Sha384)) { - sha384Pkt.data = data; + sha384Pkt.Data = data; sha384Thread.Start(sha384Pkt); } - if(enabled.HasFlag(EnableChecksum.SHA512)) + if(enabled.HasFlag(EnableChecksum.Sha512)) { - sha512Pkt.data = data; + sha512Pkt.Data = data; sha512Thread.Start(sha512Pkt); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - spamsumPkt.data = data; + spamsumPkt.Data = data; spamsumThread.Start(spamsumPkt); } @@ -271,17 +271,17 @@ namespace DiscImageChef.Core md5Thread.IsAlive || ripemd160Thread.IsAlive || sha1Thread.IsAlive || sha256Thread.IsAlive || sha384Thread.IsAlive || sha512Thread.IsAlive || spamsumThread.IsAlive) { } - if(enabled.HasFlag(EnableChecksum.SpamSum)) adlerThread = new Thread(updateAdler); - if(enabled.HasFlag(EnableChecksum.SpamSum)) crc16Thread = new Thread(updateCRC16); - if(enabled.HasFlag(EnableChecksum.SpamSum)) crc32Thread = new Thread(updateCRC32); - if(enabled.HasFlag(EnableChecksum.SpamSum)) crc64Thread = new Thread(updateCRC64); - if(enabled.HasFlag(EnableChecksum.SpamSum)) md5Thread = new Thread(updateMD5); - if(enabled.HasFlag(EnableChecksum.SpamSum)) ripemd160Thread = new Thread(updateRIPEMD160); - if(enabled.HasFlag(EnableChecksum.SpamSum)) sha1Thread = new Thread(updateSHA1); - if(enabled.HasFlag(EnableChecksum.SpamSum)) sha256Thread = new Thread(updateSHA256); - if(enabled.HasFlag(EnableChecksum.SpamSum)) sha384Thread = new Thread(updateSHA384); - if(enabled.HasFlag(EnableChecksum.SpamSum)) sha512Thread = new Thread(updateSHA512); - if(enabled.HasFlag(EnableChecksum.SpamSum)) spamsumThread = new Thread(updateSpamSum); + if(enabled.HasFlag(EnableChecksum.SpamSum)) adlerThread = new Thread(UpdateAdler); + if(enabled.HasFlag(EnableChecksum.SpamSum)) crc16Thread = new Thread(UpdateCrc16); + if(enabled.HasFlag(EnableChecksum.SpamSum)) crc32Thread = new Thread(UpdateCrc32); + if(enabled.HasFlag(EnableChecksum.SpamSum)) crc64Thread = new Thread(UpdateCrc64); + if(enabled.HasFlag(EnableChecksum.SpamSum)) md5Thread = new Thread(UpdateMd5); + if(enabled.HasFlag(EnableChecksum.SpamSum)) ripemd160Thread = new Thread(UpdateRipemd160); + if(enabled.HasFlag(EnableChecksum.SpamSum)) sha1Thread = new Thread(UpdateSha1); + if(enabled.HasFlag(EnableChecksum.SpamSum)) sha256Thread = new Thread(UpdateSha256); + if(enabled.HasFlag(EnableChecksum.SpamSum)) sha384Thread = new Thread(UpdateSha384); + if(enabled.HasFlag(EnableChecksum.SpamSum)) sha512Thread = new Thread(UpdateSha512); + if(enabled.HasFlag(EnableChecksum.SpamSum)) spamsumThread = new Thread(UpdateSpamSum); } public List End() @@ -294,79 +294,79 @@ namespace DiscImageChef.Core { chk = new ChecksumType(); chk.type = ChecksumTypeType.adler32; - chk.Value = adler32ctx.End(); + chk.Value = adler32Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.CRC16)) + if(enabled.HasFlag(EnableChecksum.Crc16)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.crc16; - chk.Value = crc16ctx.End(); + chk.Value = crc16Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.CRC32)) + if(enabled.HasFlag(EnableChecksum.Crc32)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.crc32; - chk.Value = crc32ctx.End(); + chk.Value = crc32Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.CRC64)) + if(enabled.HasFlag(EnableChecksum.Crc64)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.crc64; - chk.Value = crc64ctx.End(); + chk.Value = crc64Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.MD5)) + if(enabled.HasFlag(EnableChecksum.Md5)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.md5; - chk.Value = md5ctx.End(); + chk.Value = md5Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.RIPEMD160)) + if(enabled.HasFlag(EnableChecksum.Ripemd160)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.ripemd160; - chk.Value = ripemd160ctx.End(); + chk.Value = ripemd160Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA1)) + if(enabled.HasFlag(EnableChecksum.Sha1)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha1; - chk.Value = sha1ctx.End(); + chk.Value = sha1Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA256)) + if(enabled.HasFlag(EnableChecksum.Sha256)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha256; - chk.Value = sha256ctx.End(); + chk.Value = sha256Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA384)) + if(enabled.HasFlag(EnableChecksum.Sha384)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha384; - chk.Value = sha384ctx.End(); + chk.Value = sha384Ctx.End(); chks.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA512)) + if(enabled.HasFlag(EnableChecksum.Sha512)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha512; - chk.Value = sha512ctx.End(); + chk.Value = sha512Ctx.End(); chks.Add(chk); } @@ -383,149 +383,149 @@ namespace DiscImageChef.Core internal static List GetChecksums(byte[] data, EnableChecksum enabled = EnableChecksum.All) { - Adler32Context adler32ctxData = null; - CRC16Context crc16ctxData = null; - CRC32Context crc32ctxData = null; - CRC64Context crc64ctxData = null; - MD5Context md5ctxData = null; - RIPEMD160Context ripemd160ctxData = null; - SHA1Context sha1ctxData = null; - SHA256Context sha256ctxData = null; - SHA384Context sha384ctxData = null; - SHA512Context sha512ctxData = null; + Adler32Context adler32CtxData = null; + Crc16Context crc16CtxData = null; + Crc32Context crc32CtxData = null; + Crc64Context crc64CtxData = null; + Md5Context md5CtxData = null; + Ripemd160Context ripemd160CtxData = null; + Sha1Context sha1CtxData = null; + Sha256Context sha256CtxData = null; + Sha384Context sha384CtxData = null; + Sha512Context sha512CtxData = null; SpamSumContext ssctxData = null; - adlerPacket adlerPktData; - crc16Packet crc16PktData; - crc32Packet crc32PktData; - crc64Packet crc64PktData; - md5Packet md5PktData; - ripemd160Packet ripemd160PktData; - sha1Packet sha1PktData; - sha256Packet sha256PktData; - sha384Packet sha384PktData; - sha512Packet sha512PktData; - spamsumPacket spamsumPktData; + AdlerPacket adlerPktData; + Crc16Packet crc16PktData; + Crc32Packet crc32PktData; + Crc64Packet crc64PktData; + Md5Packet md5PktData; + Ripemd160Packet ripemd160PktData; + Sha1Packet sha1PktData; + Sha256Packet sha256PktData; + Sha384Packet sha384PktData; + Sha512Packet sha512PktData; + SpamsumPacket spamsumPktData; - Thread adlerThreadData = new Thread(updateAdler); - Thread crc16ThreadData = new Thread(updateCRC16); - Thread crc32ThreadData = new Thread(updateCRC32); - Thread crc64ThreadData = new Thread(updateCRC64); - Thread md5ThreadData = new Thread(updateMD5); - Thread ripemd160ThreadData = new Thread(updateRIPEMD160); - Thread sha1ThreadData = new Thread(updateSHA1); - Thread sha256ThreadData = new Thread(updateSHA256); - Thread sha384ThreadData = new Thread(updateSHA384); - Thread sha512ThreadData = new Thread(updateSHA512); - Thread spamsumThreadData = new Thread(updateSpamSum); + Thread adlerThreadData = new Thread(UpdateAdler); + Thread crc16ThreadData = new Thread(UpdateCrc16); + Thread crc32ThreadData = new Thread(UpdateCrc32); + Thread crc64ThreadData = new Thread(UpdateCrc64); + Thread md5ThreadData = new Thread(UpdateMd5); + Thread ripemd160ThreadData = new Thread(UpdateRipemd160); + Thread sha1ThreadData = new Thread(UpdateSha1); + Thread sha256ThreadData = new Thread(UpdateSha256); + Thread sha384ThreadData = new Thread(UpdateSha384); + Thread sha512ThreadData = new Thread(UpdateSha512); + Thread spamsumThreadData = new Thread(UpdateSpamSum); if(enabled.HasFlag(EnableChecksum.SpamSum)) { - adler32ctxData = new Adler32Context(); - adlerPktData = new adlerPacket(); - adler32ctxData.Init(); - adlerPktData.context = adler32ctxData; - adlerPktData.data = data; + adler32CtxData = new Adler32Context(); + adlerPktData = new AdlerPacket(); + adler32CtxData.Init(); + adlerPktData.Context = adler32CtxData; + adlerPktData.Data = data; adlerThreadData.Start(adlerPktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - crc16PktData = new crc16Packet(); - crc16ctxData = new CRC16Context(); - crc16ctxData.Init(); - crc16PktData.context = crc16ctxData; - crc16PktData.data = data; + crc16PktData = new Crc16Packet(); + crc16CtxData = new Crc16Context(); + crc16CtxData.Init(); + crc16PktData.Context = crc16CtxData; + crc16PktData.Data = data; crc16ThreadData.Start(crc16PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - crc32PktData = new crc32Packet(); - crc32ctxData = new CRC32Context(); - crc32ctxData.Init(); - crc32PktData.context = crc32ctxData; - crc32PktData.data = data; + crc32PktData = new Crc32Packet(); + crc32CtxData = new Crc32Context(); + crc32CtxData.Init(); + crc32PktData.Context = crc32CtxData; + crc32PktData.Data = data; crc32ThreadData.Start(crc32PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - crc64PktData = new crc64Packet(); - crc64ctxData = new CRC64Context(); - crc64ctxData.Init(); - crc64PktData.context = crc64ctxData; - crc64PktData.data = data; + crc64PktData = new Crc64Packet(); + crc64CtxData = new Crc64Context(); + crc64CtxData.Init(); + crc64PktData.Context = crc64CtxData; + crc64PktData.Data = data; crc64ThreadData.Start(crc64PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - md5PktData = new md5Packet(); - md5ctxData = new MD5Context(); - md5ctxData.Init(); - md5PktData.context = md5ctxData; - md5PktData.data = data; + md5PktData = new Md5Packet(); + md5CtxData = new Md5Context(); + md5CtxData.Init(); + md5PktData.Context = md5CtxData; + md5PktData.Data = data; md5ThreadData.Start(md5PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - ripemd160PktData = new ripemd160Packet(); - ripemd160ctxData = new RIPEMD160Context(); - ripemd160ctxData.Init(); - ripemd160PktData.context = ripemd160ctxData; - ripemd160PktData.data = data; + ripemd160PktData = new Ripemd160Packet(); + ripemd160CtxData = new Ripemd160Context(); + ripemd160CtxData.Init(); + ripemd160PktData.Context = ripemd160CtxData; + ripemd160PktData.Data = data; ripemd160ThreadData.Start(ripemd160PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - sha1PktData = new sha1Packet(); - sha1ctxData = new SHA1Context(); - sha1ctxData.Init(); - sha1PktData.context = sha1ctxData; - sha1PktData.data = data; + sha1PktData = new Sha1Packet(); + sha1CtxData = new Sha1Context(); + sha1CtxData.Init(); + sha1PktData.Context = sha1CtxData; + sha1PktData.Data = data; sha1ThreadData.Start(sha1PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - sha256PktData = new sha256Packet(); - sha256ctxData = new SHA256Context(); - sha256ctxData.Init(); - sha256PktData.context = sha256ctxData; - sha256PktData.data = data; + sha256PktData = new Sha256Packet(); + sha256CtxData = new Sha256Context(); + sha256CtxData.Init(); + sha256PktData.Context = sha256CtxData; + sha256PktData.Data = data; sha256ThreadData.Start(sha256PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - sha384PktData = new sha384Packet(); - sha384ctxData = new SHA384Context(); - sha384ctxData.Init(); - sha384PktData.context = sha384ctxData; - sha384PktData.data = data; + sha384PktData = new Sha384Packet(); + sha384CtxData = new Sha384Context(); + sha384CtxData.Init(); + sha384PktData.Context = sha384CtxData; + sha384PktData.Data = data; sha384ThreadData.Start(sha384PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - sha512PktData = new sha512Packet(); - sha512ctxData = new SHA512Context(); - sha512ctxData.Init(); - sha512PktData.context = sha512ctxData; - sha512PktData.data = data; + sha512PktData = new Sha512Packet(); + sha512CtxData = new Sha512Context(); + sha512CtxData.Init(); + sha512PktData.Context = sha512CtxData; + sha512PktData.Data = data; sha512ThreadData.Start(sha512PktData); } if(enabled.HasFlag(EnableChecksum.SpamSum)) { - spamsumPktData = new spamsumPacket(); + spamsumPktData = new SpamsumPacket(); ssctxData = new SpamSumContext(); ssctxData.Init(); - spamsumPktData.context = ssctxData; - spamsumPktData.data = data; + spamsumPktData.Context = ssctxData; + spamsumPktData.Data = data; spamsumThreadData.Start(spamsumPktData); } @@ -541,79 +541,79 @@ namespace DiscImageChef.Core { chk = new ChecksumType(); chk.type = ChecksumTypeType.adler32; - chk.Value = adler32ctxData.End(); + chk.Value = adler32CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.CRC16)) + if(enabled.HasFlag(EnableChecksum.Crc16)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.crc16; - chk.Value = crc16ctxData.End(); + chk.Value = crc16CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.CRC32)) + if(enabled.HasFlag(EnableChecksum.Crc32)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.crc32; - chk.Value = crc32ctxData.End(); + chk.Value = crc32CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.CRC64)) + if(enabled.HasFlag(EnableChecksum.Crc64)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.crc64; - chk.Value = crc64ctxData.End(); + chk.Value = crc64CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.MD5)) + if(enabled.HasFlag(EnableChecksum.Md5)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.md5; - chk.Value = md5ctxData.End(); + chk.Value = md5CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.RIPEMD160)) + if(enabled.HasFlag(EnableChecksum.Ripemd160)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.ripemd160; - chk.Value = ripemd160ctxData.End(); + chk.Value = ripemd160CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA1)) + if(enabled.HasFlag(EnableChecksum.Sha1)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha1; - chk.Value = sha1ctxData.End(); + chk.Value = sha1CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA256)) + if(enabled.HasFlag(EnableChecksum.Sha256)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha256; - chk.Value = sha256ctxData.End(); + chk.Value = sha256CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA384)) + if(enabled.HasFlag(EnableChecksum.Sha384)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha384; - chk.Value = sha384ctxData.End(); + chk.Value = sha384CtxData.End(); dataChecksums.Add(chk); } - if(enabled.HasFlag(EnableChecksum.SHA512)) + if(enabled.HasFlag(EnableChecksum.Sha512)) { chk = new ChecksumType(); chk.type = ChecksumTypeType.sha512; - chk.Value = sha512ctxData.End(); + chk.Value = sha512CtxData.End(); dataChecksums.Add(chk); } @@ -629,125 +629,125 @@ namespace DiscImageChef.Core } #region Threading helpers - struct adlerPacket + struct AdlerPacket { - public Adler32Context context; - public byte[] data; + public Adler32Context Context; + public byte[] Data; } - struct crc16Packet + struct Crc16Packet { - public CRC16Context context; - public byte[] data; + public Crc16Context Context; + public byte[] Data; } - struct crc32Packet + struct Crc32Packet { - public CRC32Context context; - public byte[] data; + public Crc32Context Context; + public byte[] Data; } - struct crc64Packet + struct Crc64Packet { - public CRC64Context context; - public byte[] data; + public Crc64Context Context; + public byte[] Data; } - struct md5Packet + struct Md5Packet { - public MD5Context context; - public byte[] data; + public Md5Context Context; + public byte[] Data; } - struct ripemd160Packet + struct Ripemd160Packet { - public RIPEMD160Context context; - public byte[] data; + public Ripemd160Context Context; + public byte[] Data; } - struct sha1Packet + struct Sha1Packet { - public SHA1Context context; - public byte[] data; + public Sha1Context Context; + public byte[] Data; } - struct sha256Packet + struct Sha256Packet { - public SHA256Context context; - public byte[] data; + public Sha256Context Context; + public byte[] Data; } - struct sha384Packet + struct Sha384Packet { - public SHA384Context context; - public byte[] data; + public Sha384Context Context; + public byte[] Data; } - struct sha512Packet + struct Sha512Packet { - public SHA512Context context; - public byte[] data; + public Sha512Context Context; + public byte[] Data; } - struct spamsumPacket + struct SpamsumPacket { - public SpamSumContext context; - public byte[] data; + public SpamSumContext Context; + public byte[] Data; } - static void updateAdler(object packet) + static void UpdateAdler(object packet) { - ((adlerPacket)packet).context.Update(((adlerPacket)packet).data); + ((AdlerPacket)packet).Context.Update(((AdlerPacket)packet).Data); } - static void updateCRC16(object packet) + static void UpdateCrc16(object packet) { - ((crc16Packet)packet).context.Update(((crc16Packet)packet).data); + ((Crc16Packet)packet).Context.Update(((Crc16Packet)packet).Data); } - static void updateCRC32(object packet) + static void UpdateCrc32(object packet) { - ((crc32Packet)packet).context.Update(((crc32Packet)packet).data); + ((Crc32Packet)packet).Context.Update(((Crc32Packet)packet).Data); } - static void updateCRC64(object packet) + static void UpdateCrc64(object packet) { - ((crc64Packet)packet).context.Update(((crc64Packet)packet).data); + ((Crc64Packet)packet).Context.Update(((Crc64Packet)packet).Data); } - static void updateMD5(object packet) + static void UpdateMd5(object packet) { - ((md5Packet)packet).context.Update(((md5Packet)packet).data); + ((Md5Packet)packet).Context.Update(((Md5Packet)packet).Data); } - static void updateRIPEMD160(object packet) + static void UpdateRipemd160(object packet) { - ((ripemd160Packet)packet).context.Update(((ripemd160Packet)packet).data); + ((Ripemd160Packet)packet).Context.Update(((Ripemd160Packet)packet).Data); } - static void updateSHA1(object packet) + static void UpdateSha1(object packet) { - ((sha1Packet)packet).context.Update(((sha1Packet)packet).data); + ((Sha1Packet)packet).Context.Update(((Sha1Packet)packet).Data); } - static void updateSHA256(object packet) + static void UpdateSha256(object packet) { - ((sha256Packet)packet).context.Update(((sha256Packet)packet).data); + ((Sha256Packet)packet).Context.Update(((Sha256Packet)packet).Data); } - static void updateSHA384(object packet) + static void UpdateSha384(object packet) { - ((sha384Packet)packet).context.Update(((sha384Packet)packet).data); + ((Sha384Packet)packet).Context.Update(((Sha384Packet)packet).Data); } - static void updateSHA512(object packet) + static void UpdateSha512(object packet) { - ((sha512Packet)packet).context.Update(((sha512Packet)packet).data); + ((Sha512Packet)packet).Context.Update(((Sha512Packet)packet).Data); } - static void updateSpamSum(object packet) + static void UpdateSpamSum(object packet) { - ((spamsumPacket)packet).context.Update(((spamsumPacket)packet).data); + ((SpamsumPacket)packet).Context.Update(((SpamsumPacket)packet).Data); } #endregion Threading helpers } diff --git a/DiscImageChef.Core/Devices/Dumping/ATA.cs b/DiscImageChef.Core/Devices/Dumping/ATA.cs index ef27f40ee..36ce05345 100644 --- a/DiscImageChef.Core/Devices/Dumping/ATA.cs +++ b/DiscImageChef.Core/Devices/Dumping/ATA.cs @@ -41,22 +41,22 @@ using DiscImageChef.Decoders.PCMCIA; using DiscImageChef.Devices; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.DiscImages; +using DiscImageChef.Partitions; using Schemas; using Extents; namespace DiscImageChef.Core.Devices.Dumping { - public class ATA + public class Ata { public static void Dump(Device dev, string devicePath, string outputPrefix, ushort retryPasses, bool force, bool dumpRaw, bool persistent, bool stopOnError, ref Metadata.Resume resume, ref DumpLog dumpLog, Encoding encoding) { bool aborted; - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; if(dumpRaw) { @@ -84,24 +84,24 @@ namespace DiscImageChef.Core.Devices.Dumping CICMMetadataType sidecar = new CICMMetadataType() {BlockMedia = new BlockMediaType[] {new BlockMediaType()}}; - if(dev.IsUSB) + if(dev.IsUsb) { dumpLog.WriteLine("Reading USB descriptors."); sidecar.BlockMedia[0].USB = new USBType { - ProductID = dev.USBProductID, - VendorID = dev.USBVendorID, + ProductID = dev.UsbProductId, + VendorID = dev.UsbVendorId, Descriptors = new DumpType { Image = outputPrefix + ".usbdescriptors.bin", - Size = dev.USBDescriptors.Length, - Checksums = Checksum.GetChecksums(dev.USBDescriptors).ToArray() + Size = dev.UsbDescriptors.Length, + Checksums = Checksum.GetChecksums(dev.UsbDescriptors).ToArray() } }; - DataFile.WriteTo("ATA Dump", sidecar.BlockMedia[0].USB.Descriptors.Image, dev.USBDescriptors); + DataFile.WriteTo("ATA Dump", sidecar.BlockMedia[0].USB.Descriptors.Image, dev.UsbDescriptors); } - if(dev.IsPCMCIA) + if(dev.IsPcmcia) { dumpLog.WriteLine("Reading PCMCIA CIS."); sidecar.BlockMedia[0].PCMCIA = new PCMCIAType @@ -109,13 +109,13 @@ namespace DiscImageChef.Core.Devices.Dumping CIS = new DumpType { Image = outputPrefix + ".cis.bin", - Size = dev.CIS.Length, - Checksums = Checksum.GetChecksums(dev.CIS).ToArray() + Size = dev.Cis.Length, + Checksums = Checksum.GetChecksums(dev.Cis).ToArray() } }; - DataFile.WriteTo("ATA Dump", sidecar.BlockMedia[0].PCMCIA.CIS.Image, dev.CIS); + DataFile.WriteTo("ATA Dump", sidecar.BlockMedia[0].PCMCIA.CIS.Image, dev.Cis); dumpLog.WriteLine("Decoding PCMCIA CIS."); - Decoders.PCMCIA.Tuple[] tuples = CIS.GetTuples(dev.CIS); + Decoders.PCMCIA.Tuple[] tuples = CIS.GetTuples(dev.Cis); if(tuples != null) { foreach(Decoders.PCMCIA.Tuple tuple in tuples) @@ -222,17 +222,17 @@ namespace DiscImageChef.Core.Devices.Dumping .Removable)); DumpHardwareType currentTry = null; ExtentsULong extents = null; - ResumeSupport.Process(ataReader.IsLBA, removable, blocks, dev.Manufacturer, dev.Model, dev.Serial, - dev.PlatformID, ref resume, ref currentTry, ref extents); + ResumeSupport.Process(ataReader.IsLba, removable, blocks, dev.Manufacturer, dev.Model, dev.Serial, + dev.PlatformId, ref resume, ref currentTry, ref extents); if(currentTry == null || extents == null) throw new Exception("Could not process resume file, not continuing..."); - if(ataReader.IsLBA) + if(ataReader.IsLba) { DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(outputPrefix + ".ibg", currentProfile); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(outputPrefix + ".ibg", currentProfile); dumpFile = new DataFile(outputPrefix + ".bin"); if(resume.NextBlock > 0) dumpLog.WriteLine("Resuming from block {0}.", resume.NextBlock); @@ -350,18 +350,18 @@ namespace DiscImageChef.Core.Devices.Dumping } else { - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(outputPrefix + ".ibg", currentProfile); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(outputPrefix + ".ibg", currentProfile); dumpFile = new DataFile(outputPrefix + ".bin"); ulong currentBlock = 0; blocks = (ulong)(cylinders * heads * sectors); start = DateTime.UtcNow; - for(ushort Cy = 0; Cy < cylinders; Cy++) + for(ushort cy = 0; cy < cylinders; cy++) { - for(byte Hd = 0; Hd < heads; Hd++) + for(byte hd = 0; hd < heads; hd++) { - for(byte Sc = 1; Sc < sectors; Sc++) + for(byte sc = 1; sc < sectors; sc++) { if(aborted) { @@ -375,10 +375,10 @@ namespace DiscImageChef.Core.Devices.Dumping if(currentSpeed < minSpeed && currentSpeed != 0) minSpeed = currentSpeed; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - DicConsole.Write("\rReading cylinder {0} head {1} sector {2} ({3:F3} MiB/sec.)", Cy, Hd, - Sc, currentSpeed); + DicConsole.Write("\rReading cylinder {0} head {1} sector {2} ({3:F3} MiB/sec.)", cy, hd, + sc, currentSpeed); - bool error = ataReader.ReadCHS(out cmdBuf, Cy, Hd, Sc, out duration); + bool error = ataReader.ReadChs(out cmdBuf, cy, hd, sc, out duration); totalDuration += duration; @@ -388,7 +388,7 @@ namespace DiscImageChef.Core.Devices.Dumping ibgLog.Write(currentBlock, currentSpeed * 1024); dumpFile.Write(cmdBuf); extents.Add(currentBlock); - dumpLog.WriteLine("Error reading cylinder {0} head {1} sector {2}.", Cy, Hd, Sc); + dumpLog.WriteLine("Error reading cylinder {0} head {1} sector {2}.", cy, hd, sc); } else { @@ -461,7 +461,7 @@ namespace DiscImageChef.Core.Devices.Dumping PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - ImagePlugin _imageFormat; + ImagePlugin imageFormat; FiltersList filtersList = new FiltersList(); Filter inputFilter = filtersList.GetFilter(outputPrefix + ".bin"); @@ -472,16 +472,16 @@ namespace DiscImageChef.Core.Devices.Dumping return; } - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); PartitionType[] xmlFileSysInfo = null; - try { if(!_imageFormat.OpenImage(inputFilter)) _imageFormat = null; } - catch { _imageFormat = null; } + try { if(!imageFormat.OpenImage(inputFilter)) imageFormat = null; } + catch { imageFormat = null; } - if(_imageFormat != null) + if(imageFormat != null) { dumpLog.WriteLine("Getting partitions."); - List partitions = Partitions.GetAll(_imageFormat); + List partitions = Partitions.GetAll(imageFormat); Partitions.AddSchemesToStats(partitions); dumpLog.WriteLine("Found {0} partitions.", partitions.Count); @@ -505,16 +505,16 @@ namespace DiscImageChef.Core.Devices.Dumping i, partitions[i].Start, partitions[i].End, partitions[i].Type, partitions[i].Scheme); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, partitions[i])) + if(plugin.Identify(imageFormat, partitions[i])) { - _plugin.GetInformation(_imageFormat, partitions[i], out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, partitions[i], out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -543,16 +543,16 @@ namespace DiscImageChef.Core.Devices.Dumping Size = blocks * blockSize }; - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, wholePart)) + if(plugin.Identify(imageFormat, wholePart)) { - _plugin.GetInformation(_imageFormat, wholePart, out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, wholePart, out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -571,7 +571,7 @@ namespace DiscImageChef.Core.Devices.Dumping string xmlDskTyp, xmlDskSubTyp; if(dev.IsCompactFlash) Metadata.MediaType.MediaTypeToString(MediaType.CompactFlash, out xmlDskTyp, out xmlDskSubTyp); - else if(dev.IsPCMCIA) + else if(dev.IsPcmcia) Metadata.MediaType.MediaTypeToString(MediaType.PCCardTypeI, out xmlDskTyp, out xmlDskSubTyp); else Metadata.MediaType.MediaTypeToString(MediaType.GENERIC_HDD, out xmlDskTyp, out xmlDskSubTyp); sidecar.BlockMedia[0].DiskType = xmlDskTyp; diff --git a/DiscImageChef.Core/Devices/Dumping/Alcohol120.cs b/DiscImageChef.Core/Devices/Dumping/Alcohol120.cs index 5a0341935..5513baf08 100644 --- a/DiscImageChef.Core/Devices/Dumping/Alcohol120.cs +++ b/DiscImageChef.Core/Devices/Dumping/Alcohol120.cs @@ -36,7 +36,7 @@ using System.IO; using System.Collections.Generic; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Core.Devices.Dumping { @@ -121,17 +121,17 @@ namespace DiscImageChef.Core.Devices.Dumping #region Internal enumerations enum AlcoholMediumType : ushort { - CD = 0x00, - CDR = 0x01, - CDRW = 0x02, - DVD = 0x10, - DVDR = 0x12 + Cd = 0x00, + Cdr = 0x01, + Cdrw = 0x02, + Dvd = 0x10, + Dvdr = 0x12 } enum AlcoholTrackMode : byte { NoData = 0x00, - DVD = 0x02, + Dvd = 0x02, Audio = 0xA9, Mode1 = 0xAA, Mode2 = 0xAB, @@ -205,7 +205,7 @@ namespace DiscImageChef.Core.Devices.Dumping if(tracksArray[i].point >= 0xA0) continue; if(!trackLengths.TryGetValue(tracksArray[i].point, out uint trkLen)) continue; - if(tracksArray[i].mode == AlcoholTrackMode.DVD) { tracksArray[i].extraOffset = trkLen; } + if(tracksArray[i].mode == AlcoholTrackMode.Dvd) { tracksArray[i].extraOffset = trkLen; } else { AlcoholTrackExtra extra = new AlcoholTrackExtra(); @@ -272,8 +272,8 @@ namespace DiscImageChef.Core.Devices.Dumping Marshal.FreeHGlobal(trkPtr); } - if(header.type == AlcoholMediumType.CD || header.type == AlcoholMediumType.CDR || - header.type == AlcoholMediumType.CDRW) + if(header.type == AlcoholMediumType.Cd || header.type == AlcoholMediumType.Cdr || + header.type == AlcoholMediumType.Cdrw) { foreach(AlcoholTrackExtra extra in extrasArray) { @@ -331,7 +331,7 @@ namespace DiscImageChef.Core.Devices.Dumping case MediaType.DVDRDL: case MediaType.DVDRW: case MediaType.DVDRWDL: - header.type = AlcoholMediumType.DVDR; + header.type = AlcoholMediumType.Dvdr; break; case MediaType.CD: case MediaType.CDDA: @@ -357,21 +357,21 @@ namespace DiscImageChef.Core.Devices.Dumping case MediaType.VCDHD: case MediaType.GDROM: case MediaType.ThreeDO: - header.type = AlcoholMediumType.CD; + header.type = AlcoholMediumType.Cd; break; case MediaType.CDR: case MediaType.DDCDR: case MediaType.GDR: - header.type = AlcoholMediumType.CDR; + header.type = AlcoholMediumType.Cdr; break; case MediaType.CDRW: case MediaType.DDCDRW: case MediaType.CDMO: case MediaType.CDMRW: - header.type = AlcoholMediumType.CDRW; + header.type = AlcoholMediumType.Cdrw; break; default: - header.type = AlcoholMediumType.DVD; + header.type = AlcoholMediumType.Dvd; break; } } @@ -404,18 +404,18 @@ namespace DiscImageChef.Core.Devices.Dumping trkArray[i].mode = AlcoholTrackMode.Audio; break; case TrackType.Data: - trkArray[i].mode = AlcoholTrackMode.DVD; + trkArray[i].mode = AlcoholTrackMode.Dvd; break; - case TrackType.CDMode1: + case TrackType.CdMode1: trkArray[i].mode = AlcoholTrackMode.Mode1; break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: trkArray[i].mode = AlcoholTrackMode.Mode2; break; - case TrackType.CDMode2Form1: + case TrackType.CdMode2Form1: trkArray[i].mode = AlcoholTrackMode.Mode2F1; break; - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: trkArray[i].mode = AlcoholTrackMode.Mode2F2; break; default: throw new ArgumentOutOfRangeException(nameof(mode), mode, null); @@ -507,12 +507,12 @@ namespace DiscImageChef.Core.Devices.Dumping sessions = new List(sess); } - internal void AddBCA(byte[] bca) + internal void AddBca(byte[] bca) { this.bca = bca; } - internal void AddPFI(byte[] pfi) + internal void AddPfi(byte[] pfi) { if(pfi.Length == 2052) { @@ -522,7 +522,7 @@ namespace DiscImageChef.Core.Devices.Dumping else this.pfi = pfi; } - internal void AddDMI(byte[] dmi) + internal void AddDmi(byte[] dmi) { if(dmi.Length == 2052) { diff --git a/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs b/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs index 814841dd7..ee860756a 100644 --- a/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs +++ b/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs @@ -43,7 +43,7 @@ using Extents; namespace DiscImageChef.Core.Devices.Dumping { - using ImagePlugins; + using DiscImages; using Metadata; using MediaType = CommonTypes.MediaType; using Session = Decoders.CD.Session; @@ -56,8 +56,8 @@ namespace DiscImageChef.Core.Devices.Dumping ref MediaType dskType, bool separateSubchannel, ref Resume resume, ref DumpLog dumpLog, Alcohol120 alcohol, bool dumpLeadIn) { - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; bool sense = false; ulong blocks = 0; // TODO: Check subchannel support @@ -252,7 +252,7 @@ namespace DiscImageChef.Core.Devices.Dumping return; } - ImagePlugins.Session[] sessionsForAlcohol = new ImagePlugins.Session[toc.Value.LastCompleteSession]; + DiscImages.Session[] sessionsForAlcohol = new DiscImages.Session[toc.Value.LastCompleteSession]; for(int i = 0; i < sessionsForAlcohol.Length; i++) { sessionsForAlcohol[i].SessionSequence = (ushort)(i + 1); @@ -281,7 +281,7 @@ namespace DiscImageChef.Core.Devices.Dumping toc.Value.TrackDescriptors.OrderBy(track => track.POINT).ToArray(); List trackList = new List(); long lastSector = 0; - string lastMSF = null; + string lastMsf = null; foreach(FullTOC.TrackDataDescriptor trk in sortedTracks) { if(trk.ADR == 1 || trk.ADR == 4) @@ -341,8 +341,8 @@ namespace DiscImageChef.Core.Devices.Dumping phour = trk.PHOUR; } - if(phour > 0) lastMSF = string.Format("{3:D2}:{0:D2}:{1:D2}:{2:D2}", pmin, psec, pframe, phour); - else lastMSF = string.Format("{0:D2}:{1:D2}:{2:D2}", pmin, psec, pframe); + if(phour > 0) lastMsf = string.Format("{3:D2}:{0:D2}:{1:D2}:{2:D2}", pmin, psec, pframe, phour); + else lastMsf = string.Format("{0:D2}:{1:D2}:{2:D2}", pmin, psec, pframe); lastSector = phour * 3600 * 75 + pmin * 60 * 75 + psec * 75 + pframe - 150; } } @@ -376,7 +376,7 @@ namespace DiscImageChef.Core.Devices.Dumping else tracks[t - 1].EndMSF = string.Format("{0:D2}:{1:D2}:{2:D2}", pmin, psec, pframe); } - tracks[tracks.Length - 1].EndMSF = lastMSF; + tracks[tracks.Length - 1].EndMSF = lastMsf; tracks[tracks.Length - 1].EndSector = lastSector; blocks = (ulong)(lastSector + 1); @@ -399,7 +399,7 @@ namespace DiscImageChef.Core.Devices.Dumping DumpHardwareType currentTry = null; ExtentsULong extents = null; - ResumeSupport.Process(true, true, blocks, dev.Manufacturer, dev.Model, dev.Serial, dev.PlatformID, + ResumeSupport.Process(true, true, blocks, dev.Manufacturer, dev.Model, dev.Serial, dev.PlatformId, ref resume, ref currentTry, ref extents); if(currentTry == null || extents == null) throw new Exception("Could not process resume file, not continuing..."); @@ -420,7 +420,7 @@ namespace DiscImageChef.Core.Devices.Dumping dumpLog.WriteLine("Reading Lead-in"); for(int leadInBlock = -150; leadInBlock < 0 && resume.NextBlock == 0; leadInBlock++) { - if(dev.PlatformID == Interop.PlatformID.FreeBSD) + if(dev.PlatformId == Interop.PlatformID.FreeBSD) { DicConsole.DebugWriteLine("Dump-Media", "FreeBSD panics when reading CD Lead-in, see upstream bug #224253."); @@ -515,7 +515,7 @@ namespace DiscImageChef.Core.Devices.Dumping dumpLog.WriteLine("Device reports {0} blocks ({1} bytes).", blocks, blocks * blockSize); dumpLog.WriteLine("Device can read {0} blocks at a time.", blocksToRead); dumpLog.WriteLine("Device reports {0} bytes per logical block.", blockSize); - dumpLog.WriteLine("SCSI device type: {0}.", dev.SCSIType); + dumpLog.WriteLine("SCSI device type: {0}.", dev.ScsiType); dumpLog.WriteLine("Media identified as {0}.", dskType); alcohol.SetMediaType(dskType); @@ -523,8 +523,8 @@ namespace DiscImageChef.Core.Devices.Dumping alcohol.SetExtension(".bin"); DataFile subFile = null; if(separateSubchannel) subFile = new DataFile(outputPrefix + ".sub"); - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(outputPrefix + ".ibg", 0x0008); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(outputPrefix + ".ibg", 0x0008); dumpFile.Seek(resume.NextBlock, (ulong)sectorSize); if(separateSubchannel) subFile.Seek(resume.NextBlock, subSize); @@ -669,30 +669,30 @@ namespace DiscImageChef.Core.Devices.Dumping resume.NextBlock = i + blocksToRead; } - ImagePlugins.TrackType trkType; + DiscImages.TrackType trkType; switch(tracks[t].TrackType1) { case TrackTypeTrackType.audio: - trkType = ImagePlugins.TrackType.Audio; + trkType = DiscImages.TrackType.Audio; break; case TrackTypeTrackType.mode1: - trkType = ImagePlugins.TrackType.CDMode1; + trkType = DiscImages.TrackType.CdMode1; break; case TrackTypeTrackType.mode2: - trkType = ImagePlugins.TrackType.CDMode2Formless; + trkType = DiscImages.TrackType.CdMode2Formless; break; case TrackTypeTrackType.m2f1: - trkType = ImagePlugins.TrackType.CDMode2Form1; + trkType = DiscImages.TrackType.CdMode2Form1; break; case TrackTypeTrackType.m2f2: - trkType = ImagePlugins.TrackType.CDMode2Form2; + trkType = DiscImages.TrackType.CdMode2Form2; break; case TrackTypeTrackType.dvd: case TrackTypeTrackType.hddvd: case TrackTypeTrackType.bluray: case TrackTypeTrackType.ddcd: case TrackTypeTrackType.mode0: - trkType = ImagePlugins.TrackType.Data; + trkType = DiscImages.TrackType.Data; break; default: throw new ArgumentOutOfRangeException(); } @@ -786,13 +786,13 @@ namespace DiscImageChef.Core.Devices.Dumping { sense = dev.ModeSense10(out readBuffer, out senseBuf, false, ScsiModeSensePageControl.Current, 0x01, dev.Timeout, out duration); - if(!sense) currentMode = Decoders.SCSI.Modes.DecodeMode10(readBuffer, dev.SCSIType); + if(!sense) currentMode = Decoders.SCSI.Modes.DecodeMode10(readBuffer, dev.ScsiType); } - else currentMode = Decoders.SCSI.Modes.DecodeMode6(readBuffer, dev.SCSIType); + else currentMode = Decoders.SCSI.Modes.DecodeMode6(readBuffer, dev.ScsiType); if(currentMode.HasValue) currentModePage = currentMode.Value.Pages[0]; - Decoders.SCSI.Modes.ModePage_01_MMC pgMMC = + Decoders.SCSI.Modes.ModePage_01_MMC pgMmc = new Decoders.SCSI.Modes.ModePage_01_MMC {PS = false, ReadRetryCount = 255, Parameter = 0x20}; Decoders.SCSI.Modes.DecodedMode md = new Decoders.SCSI.Modes.DecodedMode { @@ -803,12 +803,12 @@ namespace DiscImageChef.Core.Devices.Dumping { Page = 0x01, Subpage = 0x00, - PageResponse = Decoders.SCSI.Modes.EncodeModePage_01_MMC(pgMMC) + PageResponse = Decoders.SCSI.Modes.EncodeModePage_01_MMC(pgMmc) } } }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); dumpLog.WriteLine("Sending MODE SELECT to drive."); sense = dev.ModeSelect(md6, out senseBuf, true, false, dev.Timeout, out duration); @@ -828,8 +828,8 @@ namespace DiscImageChef.Core.Devices.Dumping Header = new Decoders.SCSI.Modes.ModeHeader(), Pages = new Decoders.SCSI.Modes.ModePage[] {currentModePage.Value} }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); dumpLog.WriteLine("Sending MODE SELECT to drive."); sense = dev.ModeSelect(md6, out senseBuf, true, false, dev.Timeout, out duration); diff --git a/DiscImageChef.Core/Devices/Dumping/MMC.cs b/DiscImageChef.Core/Devices/Dumping/MMC.cs index 65a4eaa24..f007ca081 100644 --- a/DiscImageChef.Core/Devices/Dumping/MMC.cs +++ b/DiscImageChef.Core/Devices/Dumping/MMC.cs @@ -40,7 +40,7 @@ using Schemas; namespace DiscImageChef.Core.Devices.Dumping { - internal static class MMC + internal static class Mmc { internal static void Dump(Device dev, string devicePath, string outputPrefix, ushort retryPasses, bool force, bool dumpRaw, bool persistent, bool stopOnError, ref CICMMetadataType sidecar, @@ -182,7 +182,7 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.Unknown && blocks > 0) { dumpLog.WriteLine("Reading Physical Format Information"); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, dev.Timeout, out duration); if(!sense) { @@ -210,11 +210,11 @@ namespace DiscImageChef.Core.Devices.Dumping dskType == MediaType.HDDVDRW || dskType == MediaType.HDDVDRWDL) { dumpLog.WriteLine("Reading Physical Format Information"); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, dev.Timeout, out duration); if(!sense) { - alcohol.AddPFI(cmdBuf); + alcohol.AddPfi(cmdBuf); if(Decoders.DVD.PFI.Decode(cmdBuf).HasValue) { tmpBuf = new byte[cmdBuf.Length - 4]; @@ -286,7 +286,7 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Reading Disc Manufacturing Information"); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, dev.Timeout, out duration); if(!sense) @@ -327,7 +327,7 @@ namespace DiscImageChef.Core.Devices.Dumping isXbox = true; } - alcohol.AddDMI(cmdBuf); + alcohol.AddDmi(cmdBuf); if(cmdBuf.Length == 2052) { @@ -349,7 +349,7 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.DVDDownload || dskType == MediaType.DVDROM) { dumpLog.WriteLine("Reading Lead-in Copyright Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.CopyrightInformation, 0, dev.Timeout, out duration); if(!sense) @@ -379,13 +379,13 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.DVDDownload || dskType == MediaType.DVDROM || dskType == MediaType.HDDVDROM) { dumpLog.WriteLine("Reading Burst Cutting Area."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.BurstCuttingArea, 0, dev.Timeout, out duration); if(!sense) { tmpBuf = new byte[cmdBuf.Length - 4]; Array.Copy(cmdBuf, 4, tmpBuf, 0, cmdBuf.Length - 4); - alcohol.AddBCA(tmpBuf); + alcohol.AddBca(tmpBuf); sidecar.OpticalDisc[0].BCA = new DumpType { Image = outputPrefix + ".bca.bin", @@ -401,8 +401,8 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.DVDRAM || dskType == MediaType.HDDVDRAM) { dumpLog.WriteLine("Reading Disc Description Structure."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_DDS, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramDds, 0, dev.Timeout, out duration); if(!sense) { if(Decoders.DVD.DDS.Decode(cmdBuf).HasValue) @@ -420,8 +420,8 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Reading Spare Area Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_SpareAreaInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramSpareAreaInformation, 0, dev.Timeout, out duration); if(!sense) { @@ -445,7 +445,7 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.DVDR || dskType == MediaType.DVDRW) { dumpLog.WriteLine("Reading Pre-Recorded Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PreRecordedInfo, 0, dev.Timeout, out duration); if(!sense) { @@ -466,8 +466,8 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.DVDR || dskType == MediaType.DVDRW || dskType == MediaType.HDDVDR) { dumpLog.WriteLine("Reading Media Identifier."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_MediaIdentifier, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrMediaIdentifier, 0, dev.Timeout, out duration); if(!sense) { @@ -483,8 +483,8 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Reading Recordable Physical Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_PhysicalInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrPhysicalInformation, 0, dev.Timeout, out duration); if(!sense) { @@ -506,8 +506,8 @@ namespace DiscImageChef.Core.Devices.Dumping dskType == MediaType.DVDPRWDL) { dumpLog.WriteLine("Reading ADdress In Pregroove."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.ADIP, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.Adip, 0, dev.Timeout, out duration); if(!sense) { tmpBuf = new byte[cmdBuf.Length - 4]; @@ -522,8 +522,8 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Reading Disc Control Blocks."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DCB, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.Dcb, 0, dev.Timeout, out duration); if(!sense) { tmpBuf = new byte[cmdBuf.Length - 4]; @@ -543,8 +543,8 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.HDDVDROM) { dumpLog.WriteLine("Reading Lead-in Copyright Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.HDDVD_CopyrightInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.HddvdCopyrightInformation, 0, dev.Timeout, out duration); if(!sense) { @@ -566,7 +566,7 @@ namespace DiscImageChef.Core.Devices.Dumping dskType == MediaType.BDRXL || dskType == MediaType.BDREXL) { dumpLog.WriteLine("Reading Disc Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, MmcDiscStructureFormat.DiscInformation, 0, dev.Timeout, out duration); if(!sense) { @@ -585,8 +585,8 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Reading PAC."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.PAC, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.Pac, 0, dev.Timeout, out duration); if(!sense) { tmpBuf = new byte[cmdBuf.Length - 4]; @@ -606,13 +606,13 @@ namespace DiscImageChef.Core.Devices.Dumping if(dskType == MediaType.BDROM) { dumpLog.WriteLine("Reading Burst Cutting Area."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_BurstCuttingArea, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdBurstCuttingArea, 0, dev.Timeout, out duration); if(!sense) { tmpBuf = new byte[cmdBuf.Length - 4]; Array.Copy(cmdBuf, 4, tmpBuf, 0, cmdBuf.Length - 4); - alcohol.AddBCA(tmpBuf); + alcohol.AddBca(tmpBuf); sidecar.OpticalDisc[0].BCA = new DumpType { Image = outputPrefix + ".bca.bin", @@ -629,8 +629,8 @@ namespace DiscImageChef.Core.Devices.Dumping dskType == MediaType.BDREXL) { dumpLog.WriteLine("Reading Disc Definition Structure."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_DDS, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdDds, 0, dev.Timeout, out duration); if(!sense) { tmpBuf = new byte[cmdBuf.Length - 4]; @@ -645,8 +645,8 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Reading Spare Area Information."); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_SpareAreaInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdSpareAreaInformation, 0, dev.Timeout, out duration); if(!sense) { @@ -665,12 +665,12 @@ namespace DiscImageChef.Core.Devices.Dumping if(isXbox) { - XGD.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, + Xgd.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, ref sidecar, ref dskType, ref resume, ref dumpLog, encoding); return; } - SBC.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, ref sidecar, + Sbc.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, ref sidecar, ref dskType, true, ref resume, ref dumpLog, encoding, alcohol); } } diff --git a/DiscImageChef.Core/Devices/Dumping/NVMe.cs b/DiscImageChef.Core/Devices/Dumping/NVMe.cs index 42fd06209..2e96aec1e 100644 --- a/DiscImageChef.Core/Devices/Dumping/NVMe.cs +++ b/DiscImageChef.Core/Devices/Dumping/NVMe.cs @@ -37,7 +37,7 @@ using DiscImageChef.Core.Logging; namespace DiscImageChef.Core.Devices.Dumping { - public static class NVMe + public static class NvMe { public static void Dump(Device dev, string devicePath, string outputPrefix, ushort retryPasses, bool force, bool dumpRaw, bool persistent, bool stopOnError, ref Metadata.Resume resume, diff --git a/DiscImageChef.Core/Devices/Dumping/ResumeSupport.cs b/DiscImageChef.Core/Devices/Dumping/ResumeSupport.cs index e14c13222..3a95c38da 100644 --- a/DiscImageChef.Core/Devices/Dumping/ResumeSupport.cs +++ b/DiscImageChef.Core/Devices/Dumping/ResumeSupport.cs @@ -40,8 +40,8 @@ namespace DiscImageChef.Core.Devices.Dumping { static class ResumeSupport { - internal static void Process(bool isLba, bool removable, ulong blocks, string Manufacturer, string Model, - string Serial, Interop.PlatformID platform, ref Resume resume, + internal static void Process(bool isLba, bool removable, ulong blocks, string manufacturer, string model, + string serial, Interop.PlatformID platform, ref Resume resume, ref DumpHardwareType currentTry, ref ExtentsULong extents) { if(resume != null) @@ -61,20 +61,20 @@ namespace DiscImageChef.Core.Devices.Dumping foreach(DumpHardwareType oldtry in resume.Tries) { - if(oldtry.Manufacturer != Manufacturer && !removable) + if(oldtry.Manufacturer != manufacturer && !removable) throw new Exception(string.Format("Resume file specifies a device manufactured by {0} but you're requesting to dump one by {1}, not continuing...", - oldtry.Manufacturer, Manufacturer)); + oldtry.Manufacturer, manufacturer)); - if(oldtry.Model != Model && !removable) + if(oldtry.Model != model && !removable) throw new Exception(string.Format("Resume file specifies a device model {0} but you're requesting to dump model {1}, not continuing...", - oldtry.Model, Model)); + oldtry.Model, model)); - if(oldtry.Serial != Serial && !removable) + if(oldtry.Serial != serial && !removable) throw new Exception(string.Format("Resume file specifies a device with serial {0} but you're requesting to dump one with serial {1}, not continuing...", - oldtry.Serial, Serial)); + oldtry.Serial, serial)); if(oldtry.Software == null) throw new Exception("Found corrupt resume file, cannot continue..."); @@ -82,8 +82,8 @@ namespace DiscImageChef.Core.Devices.Dumping oldtry.Software.OperatingSystem == platform.ToString() && oldtry.Software.Version == Version.GetVersion()) { - if(removable && (oldtry.Manufacturer != Manufacturer || oldtry.Model != Model || - oldtry.Serial != Serial)) continue; + if(removable && (oldtry.Manufacturer != manufacturer || oldtry.Model != model || + oldtry.Serial != serial)) continue; currentTry = oldtry; extents = ExtentsConverter.FromMetadata(currentTry.Extents); @@ -96,9 +96,9 @@ namespace DiscImageChef.Core.Devices.Dumping currentTry = new DumpHardwareType { Software = Version.GetSoftwareType(platform), - Manufacturer = Manufacturer, - Model = Model, - Serial = Serial, + Manufacturer = manufacturer, + Model = model, + Serial = serial, }; resume.Tries.Add(currentTry); extents = new ExtentsULong(); @@ -116,9 +116,9 @@ namespace DiscImageChef.Core.Devices.Dumping currentTry = new DumpHardwareType { Software = Version.GetSoftwareType(platform), - Manufacturer = Manufacturer, - Model = Model, - Serial = Serial + Manufacturer = manufacturer, + Model = model, + Serial = serial }; resume.Tries.Add(currentTry); extents = new ExtentsULong(); diff --git a/DiscImageChef.Core/Devices/Dumping/SBC.cs b/DiscImageChef.Core/Devices/Dumping/SBC.cs index fc7d2bb79..627c344b5 100644 --- a/DiscImageChef.Core/Devices/Dumping/SBC.cs +++ b/DiscImageChef.Core/Devices/Dumping/SBC.cs @@ -40,24 +40,24 @@ using DiscImageChef.Core.Logging; using DiscImageChef.Devices; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.DiscImages; +using DiscImageChef.Partitions; using Schemas; using Extents; namespace DiscImageChef.Core.Devices.Dumping { - using TrackType = ImagePlugins.TrackType; + using TrackType = DiscImages.TrackType; - internal static class SBC + internal static class Sbc { internal static void Dump(Device dev, string devicePath, string outputPrefix, ushort retryPasses, bool force, bool dumpRaw, bool persistent, bool stopOnError, ref CICMMetadataType sidecar, ref MediaType dskType, bool opticalDisc, ref Metadata.Resume resume, ref DumpLog dumpLog, Encoding encoding, Alcohol120 alcohol = null) { - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; byte[] cmdBuf = null; byte[] senseBuf = null; bool sense = false; @@ -122,10 +122,10 @@ namespace DiscImageChef.Core.Devices.Dumping } if(dskType == MediaType.Unknown) - dskType = MediaTypeFromSCSI.Get((byte)dev.SCSIType, dev.Manufacturer, dev.Model, scsiMediumType, + dskType = MediaTypeFromScsi.Get((byte)dev.ScsiType, dev.Manufacturer, dev.Model, scsiMediumType, scsiDensityCode, blocks, blockSize); - if(dskType == MediaType.Unknown && dev.IsUSB && containsFloppyPage) dskType = MediaType.FlashDrive; + if(dskType == MediaType.Unknown && dev.IsUsb && containsFloppyPage) dskType = MediaType.FlashDrive; DicConsole.WriteLine("Media identified as {0}", dskType); @@ -133,7 +133,7 @@ namespace DiscImageChef.Core.Devices.Dumping dumpLog.WriteLine("Device can read {0} blocks at a time.", blocksToRead); dumpLog.WriteLine("Device reports {0} bytes per logical block.", blockSize); dumpLog.WriteLine("Device reports {0} bytes per physical block.", scsiReader.LongBlockSize); - dumpLog.WriteLine("SCSI device type: {0}.", dev.SCSIType); + dumpLog.WriteLine("SCSI device type: {0}.", dev.ScsiType); dumpLog.WriteLine("SCSI medium type: {0}.", scsiMediumType); dumpLog.WriteLine("SCSI density type: {0}.", scsiDensityCode); dumpLog.WriteLine("SCSI floppy mode page present: {0}.", containsFloppyPage); @@ -145,23 +145,23 @@ namespace DiscImageChef.Core.Devices.Dumping sidecar.BlockMedia[0] = new BlockMediaType(); // All USB flash drives report as removable, even if the media is not removable - if(!dev.IsRemovable || dev.IsUSB) + if(!dev.IsRemovable || dev.IsUsb) { - if(dev.IsUSB) + if(dev.IsUsb) { dumpLog.WriteLine("Reading USB descriptors."); sidecar.BlockMedia[0].USB = new USBType { - ProductID = dev.USBProductID, - VendorID = dev.USBVendorID, + ProductID = dev.UsbProductId, + VendorID = dev.UsbVendorId, Descriptors = new DumpType() { Image = outputPrefix + ".usbdescriptors.bin", - Size = dev.USBDescriptors.Length, - Checksums = Checksum.GetChecksums(dev.USBDescriptors).ToArray() + Size = dev.UsbDescriptors.Length, + Checksums = Checksum.GetChecksums(dev.UsbDescriptors).ToArray() } }; - DataFile.WriteTo("SCSI Dump", sidecar.BlockMedia[0].USB.Descriptors.Image, dev.USBDescriptors); + DataFile.WriteTo("SCSI Dump", sidecar.BlockMedia[0].USB.Descriptors.Image, dev.UsbDescriptors); } if(dev.Type == DeviceType.ATAPI) @@ -242,9 +242,9 @@ namespace DiscImageChef.Core.Devices.Dumping if(!sense && !dev.Error) { - if(Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.SCSIType).HasValue) + if(Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.ScsiType).HasValue) { - decMode = Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.ScsiType); sidecar.BlockMedia[0].SCSI.ModeSense10 = new DumpType { Image = outputPrefix + ".modesense10.bin", @@ -265,9 +265,9 @@ namespace DiscImageChef.Core.Devices.Dumping if(!sense && !dev.Error) { - if(Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.SCSIType).HasValue) + if(Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.ScsiType).HasValue) { - decMode = Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.ScsiType); sidecar.BlockMedia[0].SCSI.ModeSense = new DumpType { Image = outputPrefix + ".modesense.bin", @@ -336,8 +336,8 @@ namespace DiscImageChef.Core.Devices.Dumping string outputExtension = ".bin"; if(opticalDisc && blockSize == 2048) outputExtension = ".iso"; - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(outputPrefix + ".ibg", currentProfile); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(outputPrefix + ".ibg", currentProfile); dumpFile = new DataFile(outputPrefix + outputExtension); start = DateTime.UtcNow; @@ -356,7 +356,7 @@ namespace DiscImageChef.Core.Devices.Dumping DumpHardwareType currentTry = null; ExtentsULong extents = null; ResumeSupport.Process(true, dev.IsRemovable, blocks, dev.Manufacturer, dev.Model, dev.Serial, - dev.PlatformID, ref resume, ref currentTry, ref extents); + dev.PlatformId, ref resume, ref currentTry, ref extents); if(currentTry == null || extents == null) throw new Exception("Could not process resume file, not continuing..."); @@ -483,15 +483,15 @@ namespace DiscImageChef.Core.Devices.Dumping { sense = dev.ModeSense10(out readBuffer, out senseBuf, false, ScsiModeSensePageControl.Current, 0x01, dev.Timeout, out duration); - if(!sense) currentMode = Decoders.SCSI.Modes.DecodeMode10(readBuffer, dev.SCSIType); + if(!sense) currentMode = Decoders.SCSI.Modes.DecodeMode10(readBuffer, dev.ScsiType); } - else currentMode = Decoders.SCSI.Modes.DecodeMode6(readBuffer, dev.SCSIType); + else currentMode = Decoders.SCSI.Modes.DecodeMode6(readBuffer, dev.ScsiType); if(currentMode.HasValue) currentModePage = currentMode.Value.Pages[0]; - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { - Decoders.SCSI.Modes.ModePage_01_MMC pgMMC = + Decoders.SCSI.Modes.ModePage_01_MMC pgMmc = new Decoders.SCSI.Modes.ModePage_01_MMC { PS = false, @@ -507,12 +507,12 @@ namespace DiscImageChef.Core.Devices.Dumping { Page = 0x01, Subpage = 0x00, - PageResponse = Decoders.SCSI.Modes.EncodeModePage_01_MMC(pgMMC) + PageResponse = Decoders.SCSI.Modes.EncodeModePage_01_MMC(pgMmc) } } }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); } else { @@ -542,8 +542,8 @@ namespace DiscImageChef.Core.Devices.Dumping } } }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); } dumpLog.WriteLine("Sending MODE SELECT to drive."); @@ -564,8 +564,8 @@ namespace DiscImageChef.Core.Devices.Dumping Header = new Decoders.SCSI.Modes.ModeHeader(), Pages = new Decoders.SCSI.Modes.ModePage[] {currentModePage.Value} }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); dumpLog.WriteLine("Sending MODE SELECT to drive."); sense = dev.ModeSelect(md6, out senseBuf, true, false, dev.Timeout, out duration); @@ -619,7 +619,7 @@ namespace DiscImageChef.Core.Devices.Dumping PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - ImagePlugin _imageFormat; + ImagePlugin imageFormat; FiltersList filtersList = new FiltersList(); Filter inputFilter = filtersList.GetFilter(outputPrefix + outputExtension); @@ -629,16 +629,16 @@ namespace DiscImageChef.Core.Devices.Dumping return; } - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); PartitionType[] xmlFileSysInfo = null; - try { if(!_imageFormat.OpenImage(inputFilter)) _imageFormat = null; } - catch { _imageFormat = null; } + try { if(!imageFormat.OpenImage(inputFilter)) imageFormat = null; } + catch { imageFormat = null; } - if(_imageFormat != null) + if(imageFormat != null) { dumpLog.WriteLine("Getting partitions."); - List partitions = Partitions.GetAll(_imageFormat); + List partitions = Partitions.GetAll(imageFormat); Partitions.AddSchemesToStats(partitions); dumpLog.WriteLine("Found {0} partitions.", partitions.Count); @@ -661,22 +661,22 @@ namespace DiscImageChef.Core.Devices.Dumping i, partitions[i].Start, partitions[i].End, partitions[i].Type, partitions[i].Scheme); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, partitions[i])) + if(plugin.Identify(imageFormat, partitions[i])) { - _plugin.GetInformation(_imageFormat, partitions[i], out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, partitions[i], out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); - if(_plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; - if(_plugin.XmlFSType.Type == "PC Engine filesystem") + if(plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; + if(plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; - if(_plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; - if(_plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") + if(plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; + if(plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; } } @@ -701,21 +701,21 @@ namespace DiscImageChef.Core.Devices.Dumping Partition wholePart = new Partition {Name = "Whole device", Length = blocks, Size = blocks * blockSize}; - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, wholePart)) + if(plugin.Identify(imageFormat, wholePart)) { - _plugin.GetInformation(_imageFormat, wholePart, out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, wholePart, out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); - if(_plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; - if(_plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; - if(_plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; - if(_plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; + if(plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; + if(plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; + if(plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; + if(plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -819,10 +819,10 @@ namespace DiscImageChef.Core.Devices.Dumping format = "Raw disk image (sector by sector copy)", Value = outputPrefix + ".bin" }; - if(!dev.IsRemovable || dev.IsUSB) + if(!dev.IsRemovable || dev.IsUsb) { if(dev.Type == DeviceType.ATAPI) sidecar.BlockMedia[0].Interface = "ATAPI"; - else if(dev.IsUSB) sidecar.BlockMedia[0].Interface = "USB"; + else if(dev.IsUsb) sidecar.BlockMedia[0].Interface = "USB"; else if(dev.IsFireWire) sidecar.BlockMedia[0].Interface = "FireWire"; else sidecar.BlockMedia[0].Interface = "SCSI"; } diff --git a/DiscImageChef.Core/Devices/Dumping/SCSI.cs b/DiscImageChef.Core/Devices/Dumping/SCSI.cs index a5868b81f..44b26a370 100644 --- a/DiscImageChef.Core/Devices/Dumping/SCSI.cs +++ b/DiscImageChef.Core/Devices/Dumping/SCSI.cs @@ -41,7 +41,7 @@ using Schemas; namespace DiscImageChef.Core.Devices.Dumping { - public class SCSI + public class Scsi { // TODO: Get cartridge serial number from Certance vendor EVPD public static void Dump(Device dev, string devicePath, string outputPrefix, ushort retryPasses, bool force, @@ -173,22 +173,22 @@ namespace DiscImageChef.Core.Devices.Dumping CICMMetadataType sidecar = new CICMMetadataType(); - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) { if(dumpRaw) throw new ArgumentException("Tapes cannot be dumped raw."); - SSC.Dump(dev, outputPrefix, devicePath, ref sidecar, ref resume, ref dumpLog); + Ssc.Dump(dev, outputPrefix, devicePath, ref sidecar, ref resume, ref dumpLog); return; } - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { - MMC.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, + Mmc.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, ref sidecar, ref dskType, separateSubchannel, ref resume, ref dumpLog, dumpLeadIn, encoding); return; } - SBC.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, ref sidecar, + Sbc.Dump(dev, devicePath, outputPrefix, retryPasses, force, dumpRaw, persistent, stopOnError, ref sidecar, ref dskType, false, ref resume, ref dumpLog, encoding); } } diff --git a/DiscImageChef.Core/Devices/Dumping/SSC.cs b/DiscImageChef.Core/Devices/Dumping/SSC.cs index 9fa46c0c3..528880621 100644 --- a/DiscImageChef.Core/Devices/Dumping/SSC.cs +++ b/DiscImageChef.Core/Devices/Dumping/SSC.cs @@ -42,15 +42,15 @@ using Schemas; namespace DiscImageChef.Core.Devices.Dumping { - internal static class SSC + internal static class Ssc { internal static void Dump(Device dev, string outputPrefix, string devicePath, ref CICMMetadataType sidecar, ref Metadata.Resume resume, ref DumpLog dumpLog) { Decoders.SCSI.FixedSense? fxSense; bool aborted; - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; bool sense = false; ulong blocks = 0; uint blockSize = 0; @@ -226,9 +226,9 @@ namespace DiscImageChef.Core.Devices.Dumping if(!sense && !dev.Error) { - if(Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.SCSIType).HasValue) + if(Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.ScsiType).HasValue) { - decMode = Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode10(cmdBuf, dev.ScsiType); sidecar.BlockMedia[0].SCSI.ModeSense10 = new DumpType { Image = outputPrefix + ".modesense10.bin", @@ -249,9 +249,9 @@ namespace DiscImageChef.Core.Devices.Dumping if(!sense && !dev.Error) { - if(Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.SCSIType).HasValue) + if(Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.ScsiType).HasValue) { - decMode = Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode6(cmdBuf, dev.ScsiType); sidecar.BlockMedia[0].SCSI.ModeSense = new DumpType { Image = outputPrefix + ".modesense.bin", @@ -274,12 +274,12 @@ namespace DiscImageChef.Core.Devices.Dumping else blockSize = 1; if(dskType == MediaType.Unknown) - dskType = MediaTypeFromSCSI.Get((byte)dev.SCSIType, dev.Manufacturer, dev.Model, scsiMediumTypeTape, + dskType = MediaTypeFromScsi.Get((byte)dev.ScsiType, dev.Manufacturer, dev.Model, scsiMediumTypeTape, scsiDensityCodeTape, blocks, blockSize); DicConsole.WriteLine("Media identified as {0}", dskType); - dumpLog.WriteLine("SCSI device type: {0}.", dev.SCSIType); + dumpLog.WriteLine("SCSI device type: {0}.", dev.ScsiType); dumpLog.WriteLine("SCSI medium type: {0}.", scsiMediumTypeTape); dumpLog.WriteLine("SCSI density type: {0}.", scsiDensityCodeTape); dumpLog.WriteLine("Media identified as {0}.", dskType); @@ -383,8 +383,8 @@ namespace DiscImageChef.Core.Devices.Dumping DataFile dumpFile = new DataFile(outputPrefix + ".bin"); dataChk = new Checksum(); start = DateTime.UtcNow; - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, 1); - ibgLog = new IBGLog(outputPrefix + ".ibg", 0x0008); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, 1); + ibgLog = new IbgLog(outputPrefix + ".ibg", 0x0008); currentTapeFile = new TapeFileType { @@ -664,7 +664,7 @@ namespace DiscImageChef.Core.Devices.Dumping sidecar.BlockMedia[0].DumpHardwareArray[0].Model = dev.Model; sidecar.BlockMedia[0].DumpHardwareArray[0].Revision = dev.Revision; sidecar.BlockMedia[0].DumpHardwareArray[0].Serial = dev.Serial; - sidecar.BlockMedia[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformID); + sidecar.BlockMedia[0].DumpHardwareArray[0].Software = Version.GetSoftwareType(dev.PlatformId); sidecar.BlockMedia[0].TapeInformation = partitions.ToArray(); if(!aborted) diff --git a/DiscImageChef.Core/Devices/Dumping/SecureDigital.cs b/DiscImageChef.Core/Devices/Dumping/SecureDigital.cs index 65ddfd2ce..ed6f534f5 100644 --- a/DiscImageChef.Core/Devices/Dumping/SecureDigital.cs +++ b/DiscImageChef.Core/Devices/Dumping/SecureDigital.cs @@ -41,7 +41,7 @@ using DiscImageChef.Decoders.MMC; using DiscImageChef.Devices; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Extents; using Schemas; @@ -54,8 +54,8 @@ namespace DiscImageChef.Core.Devices.Dumping ref DumpLog dumpLog, Encoding encoding) { bool aborted; - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; if(dumpRaw) { @@ -95,7 +95,7 @@ namespace DiscImageChef.Core.Devices.Dumping CSD csdDecoded = new CSD(); dumpLog.WriteLine("Reading Extended CSD"); - sense = dev.ReadExtendedCSD(out ecsd, out response, timeout, out duration); + sense = dev.ReadExtendedCsd(out ecsd, out response, timeout, out duration); if(!sense) { ecsdDecoded = Decoders.MMC.Decoders.DecodeExtendedCSD(ecsd); @@ -110,7 +110,7 @@ namespace DiscImageChef.Core.Devices.Dumping else ecsd = null; dumpLog.WriteLine("Reading CSD"); - sense = dev.ReadCSD(out csd, out response, timeout, out duration); + sense = dev.ReadCsd(out csd, out response, timeout, out duration); if(!sense) { if(blocks == 0) @@ -123,7 +123,7 @@ namespace DiscImageChef.Core.Devices.Dumping else csd = null; dumpLog.WriteLine("Reading OCR"); - sense = dev.ReadOCR(out ocr, out response, timeout, out duration); + sense = dev.ReadOcr(out ocr, out response, timeout, out duration); if(sense) ocr = null; sidecar.BlockMedia[0].MultiMediaCard = new MultiMediaCardType(); @@ -133,7 +133,7 @@ namespace DiscImageChef.Core.Devices.Dumping Decoders.SecureDigital.CSD csdDecoded = new Decoders.SecureDigital.CSD(); dumpLog.WriteLine("Reading CSD"); - sense = dev.ReadCSD(out csd, out response, timeout, out duration); + sense = dev.ReadCsd(out csd, out response, timeout, out duration); if(!sense) { csdDecoded = Decoders.SecureDigital.Decoders.DecodeCSD(csd); @@ -147,18 +147,18 @@ namespace DiscImageChef.Core.Devices.Dumping else csd = null; dumpLog.WriteLine("Reading OCR"); - sense = dev.ReadSDOCR(out ocr, out response, timeout, out duration); + sense = dev.ReadSdocr(out ocr, out response, timeout, out duration); if(sense) ocr = null; dumpLog.WriteLine("Reading SCR"); - sense = dev.ReadSCR(out scr, out response, timeout, out duration); + sense = dev.ReadScr(out scr, out response, timeout, out duration); if(sense) scr = null; sidecar.BlockMedia[0].SecureDigital = new SecureDigitalType(); } dumpLog.WriteLine("Reading CID"); - sense = dev.ReadCID(out cid, out response, timeout, out duration); + sense = dev.ReadCid(out cid, out response, timeout, out duration); if(sense) cid = null; DumpType cidDump = null; @@ -283,15 +283,15 @@ namespace DiscImageChef.Core.Devices.Dumping DumpHardwareType currentTry = null; ExtentsULong extents = null; - ResumeSupport.Process(true, false, blocks, dev.Manufacturer, dev.Model, dev.Serial, dev.PlatformID, + ResumeSupport.Process(true, false, blocks, dev.Manufacturer, dev.Model, dev.Serial, dev.PlatformId, ref resume, ref currentTry, ref extents); if(currentTry == null || extents == null) throw new Exception("Could not process resume file, not continuing..."); DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(outputPrefix + ".ibg", currentProfile); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(outputPrefix + ".ibg", currentProfile); dumpFile = new DataFile(outputPrefix + ".bin"); dumpFile.Seek(resume.NextBlock, blockSize); if(resume.NextBlock > 0) dumpLog.WriteLine("Resuming from block {0}.", resume.NextBlock); @@ -445,7 +445,7 @@ namespace DiscImageChef.Core.Devices.Dumping PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - ImagePlugin _imageFormat; + ImagePlugin imageFormat; FiltersList filtersList = new FiltersList(); Filter inputFilter = filtersList.GetFilter(outputPrefix + ".bin"); @@ -456,16 +456,16 @@ namespace DiscImageChef.Core.Devices.Dumping return; } - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); PartitionType[] xmlFileSysInfo = null; - try { if(!_imageFormat.OpenImage(inputFilter)) _imageFormat = null; } - catch { _imageFormat = null; } + try { if(!imageFormat.OpenImage(inputFilter)) imageFormat = null; } + catch { imageFormat = null; } - if(_imageFormat != null) + if(imageFormat != null) { dumpLog.WriteLine("Getting partitions."); - List partitions = Partitions.GetAll(_imageFormat); + List partitions = Partitions.GetAll(imageFormat); Partitions.AddSchemesToStats(partitions); dumpLog.WriteLine("Found {0} partitions.", partitions.Count); @@ -488,16 +488,16 @@ namespace DiscImageChef.Core.Devices.Dumping i, partitions[i].Start, partitions[i].End, partitions[i].Type, partitions[i].Scheme); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, partitions[i])) + if(plugin.Identify(imageFormat, partitions[i])) { - _plugin.GetInformation(_imageFormat, partitions[i], out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, partitions[i], out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -522,16 +522,16 @@ namespace DiscImageChef.Core.Devices.Dumping Partition wholePart = new Partition {Name = "Whole device", Length = blocks, Size = blocks * blockSize}; - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, wholePart)) + if(plugin.Identify(imageFormat, wholePart)) { - _plugin.GetInformation(_imageFormat, wholePart, out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, wholePart, out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body diff --git a/DiscImageChef.Core/Devices/Dumping/XGD.cs b/DiscImageChef.Core/Devices/Dumping/XGD.cs index d77f5b8e7..187d294fd 100644 --- a/DiscImageChef.Core/Devices/Dumping/XGD.cs +++ b/DiscImageChef.Core/Devices/Dumping/XGD.cs @@ -40,22 +40,22 @@ using DiscImageChef.Core.Logging; using DiscImageChef.Devices; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.DiscImages; +using DiscImageChef.Partitions; using Extents; using Schemas; namespace DiscImageChef.Core.Devices.Dumping { - internal static class XGD + internal static class Xgd { internal static void Dump(Device dev, string devicePath, string outputPrefix, ushort retryPasses, bool force, bool dumpRaw, bool persistent, bool stopOnError, ref CICMMetadataType sidecar, ref MediaType dskType, ref Metadata.Resume resume, ref DumpLog dumpLog, Encoding encoding) { - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; bool sense = false; ulong blocks = 0; uint blockSize = 2048; @@ -74,7 +74,7 @@ namespace DiscImageChef.Core.Devices.Dumping System.Console.CancelKeyPress += (sender, e) => { e.Cancel = aborted = true; }; dumpLog.WriteLine("Reading Xbox Security Sector."); - sense = dev.KreonExtractSS(out byte[] ssBuf, out byte[] senseBuf, dev.Timeout, out double duration); + sense = dev.KreonExtractSs(out byte[] ssBuf, out byte[] senseBuf, dev.Timeout, out double duration); if(sense) { dumpLog.WriteLine("Cannot get Xbox Security Sector, not continuing."); @@ -83,8 +83,8 @@ namespace DiscImageChef.Core.Devices.Dumping } dumpLog.WriteLine("Decoding Xbox Security Sector."); - Decoders.Xbox.SS.SecuritySector? xboxSS = Decoders.Xbox.SS.Decode(ssBuf); - if(!xboxSS.HasValue) + Decoders.Xbox.SS.SecuritySector? xboxSs = Decoders.Xbox.SS.Decode(ssBuf); + if(!xboxSs.HasValue) { dumpLog.WriteLine("Cannot decode Xbox Security Sector, not continuing."); DicConsole.ErrorWriteLine("Cannot decode Xbox Security Sector, not continuing."); @@ -136,7 +136,7 @@ namespace DiscImageChef.Core.Devices.Dumping totalSize = (ulong)((readBuffer[0] << 24) + (readBuffer[1] << 16) + (readBuffer[2] << 8) + (readBuffer[3])); dumpLog.WriteLine("Reading Physical Format Information."); - sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, 0, out duration); if(sense) { @@ -159,7 +159,7 @@ namespace DiscImageChef.Core.Devices.Dumping Decoders.DVD.PFI.Decode(readBuffer).Value.DataAreaStartPSN + 1; l1Video = totalSize - l0Video + 1; dumpLog.WriteLine("Reading Disc Manufacturing Information."); - sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, 0, out duration); if(sense) { @@ -224,7 +224,7 @@ namespace DiscImageChef.Core.Devices.Dumping totalSize = (ulong)((readBuffer[0] << 24) + (readBuffer[1] << 16) + (readBuffer[2] << 8) + (readBuffer[3])); dumpLog.WriteLine("Reading Physical Format Information."); - sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, 0, out duration); if(sense) { @@ -249,7 +249,7 @@ namespace DiscImageChef.Core.Devices.Dumping DataFile.WriteTo("SCSI Dump", sidecar.OpticalDisc[0].Xbox.PFI.Image, tmpBuf, "Unlocked PFI", true); dumpLog.WriteLine("Reading Disc Manufacturing Information."); - sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out readBuffer, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, 0, out duration); if(sense) { @@ -320,8 +320,8 @@ namespace DiscImageChef.Core.Devices.Dumping dumpLog.WriteLine("Reading {0} sectors at a time.", blocksToRead); DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(outputPrefix + ".ibg", 0x0010); + mhddLog = new MhddLog(outputPrefix + ".mhddlog.bin", dev, blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(outputPrefix + ".ibg", 0x0010); dumpFile = new DataFile(outputPrefix + ".iso"); start = DateTime.UtcNow; @@ -332,7 +332,7 @@ namespace DiscImageChef.Core.Devices.Dumping uint saveBlocksToRead = blocksToRead; DumpHardwareType currentTry = null; ExtentsULong extents = null; - ResumeSupport.Process(true, true, totalSize, dev.Manufacturer, dev.Model, dev.Serial, dev.PlatformID, + ResumeSupport.Process(true, true, totalSize, dev.Manufacturer, dev.Model, dev.Serial, dev.PlatformId, ref resume, ref currentTry, ref extents); if(currentTry == null || extents == null) throw new Exception("Could not process resume file, not continuing..."); @@ -358,16 +358,16 @@ namespace DiscImageChef.Core.Devices.Dumping // Extents if(e < 16) { - if(xboxSS.Value.Extents[e].StartPSN <= xboxSS.Value.Layer0EndPSN) - extentStart = xboxSS.Value.Extents[e].StartPSN - 0x30000; + if(xboxSs.Value.Extents[e].StartPSN <= xboxSs.Value.Layer0EndPSN) + extentStart = xboxSs.Value.Extents[e].StartPSN - 0x30000; else - extentStart = (xboxSS.Value.Layer0EndPSN + 1) * 2 - - ((xboxSS.Value.Extents[e].StartPSN ^ 0xFFFFFF) + 1) - 0x30000; - if(xboxSS.Value.Extents[e].EndPSN <= xboxSS.Value.Layer0EndPSN) - extentEnd = xboxSS.Value.Extents[e].EndPSN - 0x30000; + extentStart = (xboxSs.Value.Layer0EndPSN + 1) * 2 - + ((xboxSs.Value.Extents[e].StartPSN ^ 0xFFFFFF) + 1) - 0x30000; + if(xboxSs.Value.Extents[e].EndPSN <= xboxSs.Value.Layer0EndPSN) + extentEnd = xboxSs.Value.Extents[e].EndPSN - 0x30000; else - extentEnd = (xboxSS.Value.Layer0EndPSN + 1) * 2 - - ((xboxSS.Value.Extents[e].EndPSN ^ 0xFFFFFF) + 1) - 0x30000; + extentEnd = (xboxSs.Value.Layer0EndPSN + 1) * 2 - + ((xboxSs.Value.Extents[e].EndPSN ^ 0xFFFFFF) + 1) - 0x30000; } // After last extent else @@ -667,15 +667,15 @@ namespace DiscImageChef.Core.Devices.Dumping { sense = dev.ModeSense10(out readBuffer, out senseBuf, false, ScsiModeSensePageControl.Current, 0x01, dev.Timeout, out duration); - if(!sense) currentMode = Decoders.SCSI.Modes.DecodeMode10(readBuffer, dev.SCSIType); + if(!sense) currentMode = Decoders.SCSI.Modes.DecodeMode10(readBuffer, dev.ScsiType); } - else currentMode = Decoders.SCSI.Modes.DecodeMode6(readBuffer, dev.SCSIType); + else currentMode = Decoders.SCSI.Modes.DecodeMode6(readBuffer, dev.ScsiType); if(currentMode.HasValue) currentModePage = currentMode.Value.Pages[0]; - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { - Decoders.SCSI.Modes.ModePage_01_MMC pgMMC = + Decoders.SCSI.Modes.ModePage_01_MMC pgMmc = new Decoders.SCSI.Modes.ModePage_01_MMC { PS = false, @@ -691,12 +691,12 @@ namespace DiscImageChef.Core.Devices.Dumping { Page = 0x01, Subpage = 0x00, - PageResponse = Decoders.SCSI.Modes.EncodeModePage_01_MMC(pgMMC) + PageResponse = Decoders.SCSI.Modes.EncodeModePage_01_MMC(pgMmc) } } }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); } else { @@ -726,8 +726,8 @@ namespace DiscImageChef.Core.Devices.Dumping } } }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); } dumpLog.WriteLine("Sending MODE SELECT to drive."); @@ -748,8 +748,8 @@ namespace DiscImageChef.Core.Devices.Dumping Header = new Decoders.SCSI.Modes.ModeHeader(), Pages = new Decoders.SCSI.Modes.ModePage[] {currentModePage.Value} }; - md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.SCSIType); - md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.SCSIType); + md6 = Decoders.SCSI.Modes.EncodeMode6(md, dev.ScsiType); + md10 = Decoders.SCSI.Modes.EncodeMode10(md, dev.ScsiType); dumpLog.WriteLine("Sending MODE SELECT to drive."); sense = dev.ModeSelect(md6, out senseBuf, true, false, dev.Timeout, out duration); @@ -805,7 +805,7 @@ namespace DiscImageChef.Core.Devices.Dumping PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - ImagePlugin _imageFormat; + ImagePlugin imageFormat; FiltersList filtersList = new FiltersList(); Filter inputFilter = filtersList.GetFilter(outputPrefix + ".iso"); @@ -815,16 +815,16 @@ namespace DiscImageChef.Core.Devices.Dumping return; } - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); PartitionType[] xmlFileSysInfo = null; - try { if(!_imageFormat.OpenImage(inputFilter)) _imageFormat = null; } - catch { _imageFormat = null; } + try { if(!imageFormat.OpenImage(inputFilter)) imageFormat = null; } + catch { imageFormat = null; } - if(_imageFormat != null) + if(imageFormat != null) { dumpLog.WriteLine("Getting partitions."); - List partitions = Partitions.GetAll(_imageFormat); + List partitions = Partitions.GetAll(imageFormat); Partitions.AddSchemesToStats(partitions); dumpLog.WriteLine("Found {0} partitions.", partitions.Count); @@ -847,22 +847,22 @@ namespace DiscImageChef.Core.Devices.Dumping i, partitions[i].Start, partitions[i].End, partitions[i].Type, partitions[i].Scheme); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, partitions[i])) + if(plugin.Identify(imageFormat, partitions[i])) { - _plugin.GetInformation(_imageFormat, partitions[i], out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, partitions[i], out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); - if(_plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; - if(_plugin.XmlFSType.Type == "PC Engine filesystem") + if(plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; + if(plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; - if(_plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; - if(_plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") + if(plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; + if(plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; } } @@ -887,21 +887,21 @@ namespace DiscImageChef.Core.Devices.Dumping Partition wholePart = new Partition {Name = "Whole device", Length = blocks, Size = blocks * blockSize}; - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(_imageFormat, wholePart)) + if(plugin.Identify(imageFormat, wholePart)) { - _plugin.GetInformation(_imageFormat, wholePart, out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); - dumpLog.WriteLine("Filesystem {0} found.", _plugin.XmlFSType.Type); + plugin.GetInformation(imageFormat, wholePart, out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); + dumpLog.WriteLine("Filesystem {0} found.", plugin.XmlFSType.Type); - if(_plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; - if(_plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; - if(_plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; - if(_plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; + if(plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; + if(plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; + if(plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; + if(plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body diff --git a/DiscImageChef.Core/Devices/Reader.cs b/DiscImageChef.Core/Devices/Reader.cs index 87fdf0374..1b8f91d8f 100644 --- a/DiscImageChef.Core/Devices/Reader.cs +++ b/DiscImageChef.Core/Devices/Reader.cs @@ -80,7 +80,7 @@ namespace DiscImageChef.Core.Devices { get { return ataSeek || seek6 || seek10; } } - internal bool CanSeekLBA + internal bool CanSeekLba { get { return ataSeekLba || seek6 || seek10; } } @@ -177,11 +177,11 @@ namespace DiscImageChef.Core.Devices } } - internal bool ReadCHS(out byte[] buffer, ushort cylinder, byte head, byte sector, out double duration) + internal bool ReadChs(out byte[] buffer, ushort cylinder, byte head, byte sector, out double duration) { switch(dev.Type) { - case DeviceType.ATA: return AtaReadCHS(out buffer, cylinder, head, sector, out duration); + case DeviceType.ATA: return AtaReadChs(out buffer, cylinder, head, sector, out duration); default: buffer = null; duration = 0d; @@ -202,11 +202,11 @@ namespace DiscImageChef.Core.Devices } } - internal bool SeekCHS(ushort cylinder, byte head, byte sector, out double duration) + internal bool SeekChs(ushort cylinder, byte head, byte sector, out double duration) { switch(dev.Type) { - case DeviceType.ATA: return AtaSeekCHS(cylinder, head, sector, out duration); + case DeviceType.ATA: return AtaSeekChs(cylinder, head, sector, out duration); default: duration = 0; return true; diff --git a/DiscImageChef.Core/Devices/ReaderATA.cs b/DiscImageChef.Core/Devices/ReaderATA.cs index b7fec3504..dd494c452 100644 --- a/DiscImageChef.Core/Devices/ReaderATA.cs +++ b/DiscImageChef.Core/Devices/ReaderATA.cs @@ -57,7 +57,7 @@ namespace DiscImageChef.Core.Devices Identify.IdentifyDevice ataId; - internal bool IsLBA + internal bool IsLba { get { return lbaMode; } } @@ -74,7 +74,7 @@ namespace DiscImageChef.Core.Devices get { return sectors; } } - (uint, byte, byte) GetDeviceCHS() + (uint, byte, byte) GetDeviceChs() { if(dev.Type != DeviceType.ATA) return (0, 0, 0); @@ -100,7 +100,7 @@ namespace DiscImageChef.Core.Devices ulong AtaGetBlocks() { - GetDeviceCHS(); + GetDeviceChs(); if(ataId.Capabilities.HasFlag(Identify.CapabilitiesBit.LBASupport)) { @@ -350,7 +350,7 @@ namespace DiscImageChef.Core.Devices return error; } - bool AtaReadCHS(out byte[] buffer, ushort cylinder, byte head, byte sectir, out double duration) + bool AtaReadChs(out byte[] buffer, ushort cylinder, byte head, byte sectir, out double duration) { bool error = true; bool sense; @@ -401,7 +401,7 @@ namespace DiscImageChef.Core.Devices return !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0); } - bool AtaSeekCHS(ushort cylinder, byte head, byte sector, out double duration) + bool AtaSeekChs(ushort cylinder, byte head, byte sector, out double duration) { AtaErrorRegistersCHS errorChs; diff --git a/DiscImageChef.Core/Devices/ReaderSCSI.cs b/DiscImageChef.Core/Devices/ReaderSCSI.cs index 016aa67c0..34f7d7465 100644 --- a/DiscImageChef.Core/Devices/ReaderSCSI.cs +++ b/DiscImageChef.Core/Devices/ReaderSCSI.cs @@ -110,7 +110,7 @@ namespace DiscImageChef.Core.Devices Decoders.SCSI.FixedSense? decSense; readRaw = false; - if(dev.SCSIType != Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType != Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { /*testSense = dev.ReadLong16(out readBuffer, out senseBuf, false, 0, 0xFFFF, timeout, out duration); if (testSense && !dev.Error) @@ -417,7 +417,7 @@ namespace DiscImageChef.Core.Devices if(sense && blocks == 0) { // Not all MMC devices support READ CAPACITY, as they have READ TOC - if(dev.SCSIType != Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType != Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { errorMessage = string.Format("Unable to get media capacity\n" + "{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); diff --git a/DiscImageChef.Core/Devices/Report/ATA.cs b/DiscImageChef.Core/Devices/Report/ATA.cs index 34237d71d..a816c1f80 100644 --- a/DiscImageChef.Core/Devices/Report/ATA.cs +++ b/DiscImageChef.Core/Devices/Report/ATA.cs @@ -38,7 +38,7 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report { - public static class ATA + public static class Ata { public static void Report(Device dev, ref DeviceReport report, bool debug, ref bool removable) { @@ -50,11 +50,11 @@ namespace DiscImageChef.Core.Devices.Report uint timeout = 5; ConsoleKeyInfo pressedKey; - if(dev.IsUSB) USB.Report(dev, ref report, debug, ref removable); + if(dev.IsUsb) Usb.Report(dev, ref report, debug, ref removable); if(dev.IsFireWire) FireWire.Report(dev, ref report, debug, ref removable); - if(dev.IsPCMCIA) PCMCIA.Report(dev, ref report, debug, ref removable); + if(dev.IsPcmcia) Pcmcia.Report(dev, ref report, debug, ref removable); DicConsole.WriteLine("Querying ATA IDENTIFY..."); diff --git a/DiscImageChef.Core/Devices/Report/ATAPI.cs b/DiscImageChef.Core/Devices/Report/ATAPI.cs index 31485aec0..bacad152f 100644 --- a/DiscImageChef.Core/Devices/Report/ATAPI.cs +++ b/DiscImageChef.Core/Devices/Report/ATAPI.cs @@ -36,7 +36,7 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report { - static class ATAPI + static class Atapi { internal static void Report(Device dev, ref DeviceReport report, bool debug, ref bool removable) { diff --git a/DiscImageChef.Core/Devices/Report/NVMe.cs b/DiscImageChef.Core/Devices/Report/NVMe.cs index c4ff8cc04..1fc6f326f 100644 --- a/DiscImageChef.Core/Devices/Report/NVMe.cs +++ b/DiscImageChef.Core/Devices/Report/NVMe.cs @@ -36,7 +36,7 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report { - public static class NVMe + public static class Nvme { public static void Report(Device dev, ref DeviceReport report, bool debug, ref bool removable) { diff --git a/DiscImageChef.Core/Devices/Report/PCMCIA.cs b/DiscImageChef.Core/Devices/Report/PCMCIA.cs index f3b84ee49..a3cdce823 100644 --- a/DiscImageChef.Core/Devices/Report/PCMCIA.cs +++ b/DiscImageChef.Core/Devices/Report/PCMCIA.cs @@ -36,13 +36,13 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report { - static class PCMCIA + static class Pcmcia { internal static void Report(Device dev, ref DeviceReport report, bool debug, ref bool removable) { report.PCMCIA = new pcmciaType(); - report.PCMCIA.CIS = dev.CIS; - Tuple[] tuples = CIS.GetTuples(dev.CIS); + report.PCMCIA.CIS = dev.Cis; + Tuple[] tuples = CIS.GetTuples(dev.Cis); if(tuples != null) { foreach(Tuple tuple in tuples) diff --git a/DiscImageChef.Core/Devices/Report/SCSI/General.cs b/DiscImageChef.Core/Devices/Report/SCSI/General.cs index de8954157..759e1e959 100644 --- a/DiscImageChef.Core/Devices/Report/SCSI/General.cs +++ b/DiscImageChef.Core/Devices/Report/SCSI/General.cs @@ -52,13 +52,13 @@ namespace DiscImageChef.Core.Devices.Report.SCSI uint timeout = 5; ConsoleKeyInfo pressedKey; - if(dev.IsUSB) USB.Report(dev, ref report, debug, ref removable); + if(dev.IsUsb) Usb.Report(dev, ref report, debug, ref removable); if(dev.IsFireWire) FireWire.Report(dev, ref report, debug, ref removable); - if(dev.IsPCMCIA) PCMCIA.Report(dev, ref report, debug, ref removable); + if(dev.IsPcmcia) Pcmcia.Report(dev, ref report, debug, ref removable); - if(!dev.IsUSB && !dev.IsFireWire && dev.IsRemovable) + if(!dev.IsUsb && !dev.IsFireWire && dev.IsRemovable) { pressedKey = new ConsoleKeyInfo(); while(pressedKey.Key != ConsoleKey.Y && pressedKey.Key != ConsoleKey.N) @@ -71,7 +71,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI removable = pressedKey.Key == ConsoleKey.Y; } - if(dev.Type == DeviceType.ATAPI) ATAPI.Report(dev, ref report, debug, ref removable); + if(dev.Type == DeviceType.ATAPI) Atapi.Report(dev, ref report, debug, ref removable); DicConsole.WriteLine("Querying SCSI INQUIRY..."); sense = dev.ScsiInquiry(out buffer, out senseBuffer); @@ -209,12 +209,12 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(removable) { - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { dev.AllowMediumRemoval(out senseBuffer, timeout, out duration); dev.EjectTray(out senseBuffer, timeout, out duration); } - else if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) + else if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) { dev.SpcAllowMediumRemoval(out senseBuffer, timeout, out duration); DicConsole.WriteLine("Asking drive to unload tape (can take a few minutes)..."); @@ -225,7 +225,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI } Decoders.SCSI.Modes.DecodedMode? decMode = null; - Decoders.SCSI.PeripheralDeviceTypes devType = dev.SCSIType; + Decoders.SCSI.PeripheralDeviceTypes devType = dev.ScsiType; DicConsole.WriteLine("Querying all mode pages and subpages using SCSI MODE SENSE (10)..."); sense = dev.ModeSense10(out byte[] mode10Buffer, out senseBuffer, false, true, @@ -317,10 +317,10 @@ namespace DiscImageChef.Core.Devices.Report.SCSI List mediaTypes = new List(); - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) - MMC.Report(dev, ref report, debug, ref cdromMode, ref mediaTypes); - else if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) - SSC.Report(dev, ref report, debug); + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + Mmc.Report(dev, ref report, debug, ref cdromMode, ref mediaTypes); + else if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) + Ssc.Report(dev, ref report, debug); else { if(removable) @@ -440,7 +440,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense10 = true; - decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.ScsiType); if(debug) mediaTest.ModeSense10Data = buffer; } @@ -450,7 +450,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI { report.SCSI.SupportsModeSense6 = true; if(!decMode.HasValue) - decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.ScsiType); if(debug) mediaTest.ModeSense6Data = buffer; } @@ -715,7 +715,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense10 = true; - decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.ScsiType); if(debug) report.SCSI.ReadCapabilities.ModeSense10Data = buffer; } @@ -724,7 +724,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense6 = true; - if(!decMode.HasValue) decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.SCSIType); + if(!decMode.HasValue) decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.ScsiType); if(debug) report.SCSI.ReadCapabilities.ModeSense6Data = buffer; } diff --git a/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs b/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs index 0a46962a1..b5ac6c164 100644 --- a/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs +++ b/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs @@ -39,7 +39,7 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report.SCSI { - internal static class MMC + internal static class Mmc { internal static void Report(Device dev, ref DeviceReport report, bool debug, ref Decoders.SCSI.Modes.ModePage_2A? cdromMode, ref List mediaTypes) @@ -733,12 +733,12 @@ namespace DiscImageChef.Core.Devices.Report.SCSI } } - bool tryPlextor = false, tryHLDTST = false, tryPioneer = false, tryNEC = false; + bool tryPlextor = false, tryHldtst = false, tryPioneer = false, tryNec = false; tryPlextor |= dev.Manufacturer.ToLowerInvariant() == "plextor"; - tryHLDTST |= dev.Manufacturer.ToLowerInvariant() == "hl-dt-st"; + tryHldtst |= dev.Manufacturer.ToLowerInvariant() == "hl-dt-st"; tryPioneer |= dev.Manufacturer.ToLowerInvariant() == "pioneer"; - tryNEC |= dev.Manufacturer.ToLowerInvariant() == "nec"; + tryNec |= dev.Manufacturer.ToLowerInvariant() == "nec"; // Very old CD drives do not contain mode page 2Ah neither GET CONFIGURATION, so just try all CDs on them // Also don't get confident, some drives didn't know CD-RW but are able to read them @@ -871,7 +871,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense10 = true; - decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.ScsiType); if(debug) mediaTest.ModeSense10Data = buffer; } DicConsole.WriteLine("Querying SCSI MODE SENSE..."); @@ -879,7 +879,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense6 = true; - if(!decMode.HasValue) decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.SCSIType); + if(!decMode.HasValue) decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.ScsiType); if(debug) mediaTest.ModeSense6Data = buffer; } @@ -947,7 +947,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadDMISpecified = true; DicConsole.WriteLine("Querying DVD PFI..."); mediaTest.CanReadPFI = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPFI); @@ -957,7 +957,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); DicConsole.WriteLine("Querying DVD DMI..."); mediaTest.CanReadDMI = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDMI); @@ -972,7 +972,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadCMISpecified = true; DicConsole.WriteLine("Querying DVD CMI..."); mediaTest.CanReadCMI = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.CopyrightInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCMI); @@ -987,7 +987,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadBCASpecified = true; DicConsole.WriteLine("Querying DVD BCA..."); mediaTest.CanReadBCA = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.BurstCuttingArea, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadBCA); @@ -998,8 +998,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadAACSSpecified = true; DicConsole.WriteLine("Querying DVD AACS..."); mediaTest.CanReadAACS = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVD_AACS, 0, timeout, out duration); + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdAacs, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadAACS); if(debug) DataFile.WriteTo("SCSI Report", "aacs", @@ -1012,8 +1012,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadBCASpecified = true; DicConsole.WriteLine("Querying BD BCA..."); mediaTest.CanReadBCA = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_BurstCuttingArea, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdBurstCuttingArea, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadBCA); if(debug) @@ -1027,16 +1027,16 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadDDSSpecified = true; mediaTest.CanReadSpareAreaInformationSpecified = true; mediaTest.CanReadDDS = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_DDS, 0, timeout, out duration); + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramDds, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDDS); if(debug) DataFile.WriteTo("SCSI Report", "dds", "_debug_" + report.SCSI.Inquiry.ProductIdentification + "_" + mediaType + ".bin", "read results", buffer); mediaTest.CanReadSpareAreaInformation = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_SpareAreaInformation, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramSpareAreaInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadSpareAreaInformation); @@ -1052,8 +1052,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadSpareAreaInformationSpecified = true; DicConsole.WriteLine("Querying BD DDS..."); mediaTest.CanReadDDS = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_DDS, 0, timeout, out duration); + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdDds, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDDS); if(debug) DataFile.WriteTo("SCSI Report", "bddds", @@ -1061,8 +1061,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); DicConsole.WriteLine("Querying BD SAI..."); mediaTest.CanReadSpareAreaInformation = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_SpareAreaInformation, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdSpareAreaInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadSpareAreaInformation); @@ -1077,7 +1077,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadPRISpecified = true; DicConsole.WriteLine("Querying DVD PRI..."); mediaTest.CanReadPRI = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PreRecordedInfo, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPRI); @@ -1093,8 +1093,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadRecordablePFISpecified = true; DicConsole.WriteLine("Querying DVD Media ID..."); mediaTest.CanReadMediaID = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_MediaIdentifier, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrMediaIdentifier, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadMediaID); if(debug) @@ -1103,8 +1103,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); DicConsole.WriteLine("Querying DVD Embossed PFI..."); mediaTest.CanReadRecordablePFI = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_PhysicalInformation, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrPhysicalInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRecordablePFI); if(debug) @@ -1119,8 +1119,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadDCBSpecified = true; DicConsole.WriteLine("Querying DVD ADIP..."); mediaTest.CanReadADIP = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.ADIP, 0, timeout, out duration); + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.Adip, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadADIP); if(debug) DataFile.WriteTo("SCSI Report", "adip", @@ -1128,8 +1128,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); DicConsole.WriteLine("Querying DVD DCB..."); mediaTest.CanReadDCB = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DCB, 0, timeout, out duration); + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.Dcb, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDCB); if(debug) DataFile.WriteTo("SCSI Report", "dcb", @@ -1142,8 +1142,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadHDCMISpecified = true; DicConsole.WriteLine("Querying HD DVD CMI..."); mediaTest.CanReadHDCMI = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.HDDVD_CopyrightInformation, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.HddvdCopyrightInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadHDCMI); if(debug) @@ -1157,8 +1157,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadLayerCapacitySpecified = true; DicConsole.WriteLine("Querying DVD Layer Capacity..."); mediaTest.CanReadLayerCapacity = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_LayerCapacity, 0, timeout, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrLayerCapacity, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadLayerCapacity); if(debug) @@ -1173,7 +1173,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.CanReadPACSpecified = true; DicConsole.WriteLine("Querying BD Disc Information..."); mediaTest.CanReadDiscInformation = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.BD, 0, 0, + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0, MmcDiscStructureFormat.DiscInformation, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDiscInformation); @@ -1183,8 +1183,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); DicConsole.WriteLine("Querying BD PAC..."); mediaTest.CanReadPAC = - !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.PAC, 0, timeout, out duration); + !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.Pac, 0, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPAC); if(debug) DataFile.WriteTo("SCSI Report", "pac", @@ -1268,7 +1268,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI { DicConsole.WriteLine("Trying SCSI READ CD..."); mediaTest.SupportsReadCd = !dev.ReadCd(out buffer, out senseBuffer, 0, 2352, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None, timeout, out duration); @@ -1279,7 +1279,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); DicConsole.WriteLine("Trying SCSI READ CD MSF..."); mediaTest.SupportsReadCdMsf = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, - 0x00000201, 2352, MmcSectorTypes.CDDA, + 0x00000201, 2352, MmcSectorTypes.Cdda, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None, timeout, out duration); @@ -1346,7 +1346,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI { if(mediaType == "Audio CD") sense = dev.ReadCd(out buffer, out senseBuffer, (uint)i, 2352, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None, timeout, out duration); else @@ -1370,7 +1370,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(mediaType == "Audio CD") mediaTest.CanReadLeadOut = !dev.ReadCd(out buffer, out senseBuffer, (uint)(mediaTest.Blocks + 1), 2352, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.None, timeout, out duration); @@ -1392,13 +1392,13 @@ namespace DiscImageChef.Core.Devices.Report.SCSI { DicConsole.WriteLine("Trying to read C2 Pointers..."); mediaTest.CanReadC2Pointers = !dev.ReadCd(out buffer, out senseBuffer, 0, 2646, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2Pointers, MmcSubchannel.None, timeout, out duration); if(!mediaTest.CanReadC2Pointers) mediaTest.CanReadC2Pointers = !dev.ReadCd(out buffer, out senseBuffer, 0, 2648, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2PointersAndBlock, MmcSubchannel.None, timeout, @@ -1411,7 +1411,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI DicConsole.WriteLine("Trying to read subchannels..."); mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2368, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.Q16, timeout, out duration); @@ -1421,7 +1421,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI "_debug_" + report.SCSI.Inquiry.ProductIdentification + "_" + mediaType + ".bin", "read results", buffer); mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1, - MmcSectorTypes.CDDA, false, false, false, + MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcSubchannel.Raw, timeout, out duration); @@ -1431,10 +1431,10 @@ namespace DiscImageChef.Core.Devices.Report.SCSI "_debug_" + report.SCSI.Inquiry.ProductIdentification + "_" + mediaType + ".bin", "read results", buffer); mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, - 1, MmcSectorTypes.CDDA, false, false, + 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, - MmcSubchannel.RW, timeout, + MmcSubchannel.Rw, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel); @@ -1445,14 +1445,14 @@ namespace DiscImageChef.Core.Devices.Report.SCSI DicConsole.WriteLine("Trying to read subchannels with C2 Pointers..."); mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2662, - 1, MmcSectorTypes.CDDA, false, false, + 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2Pointers, MmcSubchannel.Q16, timeout, out duration); if(!mediaTest.CanReadPQSubchannelWithC2) mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, - 2664, 1, MmcSectorTypes.CDDA, + 2664, 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2PointersAndBlock, @@ -1466,14 +1466,14 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, - 1, MmcSectorTypes.CDDA, false, false, + 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2Pointers, MmcSubchannel.Raw, timeout, out duration); if(!mediaTest.CanReadRWSubchannelWithC2) mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, - 2714, 1, MmcSectorTypes.CDDA, + 2714, 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2PointersAndBlock, @@ -1487,18 +1487,18 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, - 2712, 1, MmcSectorTypes.CDDA, + 2712, 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.C2Pointers, - MmcSubchannel.RW, timeout, + MmcSubchannel.Rw, timeout, out duration); if(!mediaTest.CanReadCorrectedSubchannelWithC2) mediaTest.CanReadCorrectedSubchannelWithC2 = - !dev.ReadCd(out buffer, out senseBuffer, 0, 2714, 1, MmcSectorTypes.CDDA, false, + !dev.ReadCd(out buffer, out senseBuffer, 0, 2714, 1, MmcSectorTypes.Cdda, false, false, false, MmcHeaderCodes.None, true, false, - MmcErrorField.C2PointersAndBlock, MmcSubchannel.RW, timeout, + MmcErrorField.C2PointersAndBlock, MmcSubchannel.Rw, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannelWithC2); @@ -1554,7 +1554,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, - MmcSubchannel.RW, timeout, + MmcSubchannel.Rw, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel); @@ -1617,13 +1617,13 @@ namespace DiscImageChef.Core.Devices.Report.SCSI MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.C2Pointers, - MmcSubchannel.RW, timeout, + MmcSubchannel.Rw, timeout, out duration); if(!mediaTest.CanReadCorrectedSubchannelWithC2) mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2714, 1, MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true, true, - MmcErrorField.C2PointersAndBlock, MmcSubchannel.RW, timeout, + MmcErrorField.C2PointersAndBlock, MmcSubchannel.Rw, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannelWithC2); @@ -1678,7 +1678,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI 1, MmcSectorTypes.AllTypes, false, false, false, MmcHeaderCodes.None, true, false, MmcErrorField.None, - MmcSubchannel.RW, timeout, + MmcSubchannel.Rw, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel); @@ -1737,13 +1737,13 @@ namespace DiscImageChef.Core.Devices.Report.SCSI MmcHeaderCodes.None, true, false, MmcErrorField.C2Pointers, - MmcSubchannel.RW, timeout, + MmcSubchannel.Rw, timeout, out duration); if(!mediaTest.CanReadCorrectedSubchannelWithC2) mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2440, 1, MmcSectorTypes.AllTypes, false, false, false, MmcHeaderCodes.None, true, false, - MmcErrorField.C2PointersAndBlock, MmcSubchannel.RW, timeout, + MmcErrorField.C2PointersAndBlock, MmcSubchannel.Rw, timeout, out duration); DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannelWithC2); @@ -1755,7 +1755,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(debug) { - if(!tryNEC) + if(!tryNec) { pressedKey = new ConsoleKeyInfo(); while(pressedKey.Key != ConsoleKey.Y && pressedKey.Key != ConsoleKey.N) @@ -1766,7 +1766,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI DicConsole.WriteLine(); } - tryNEC |= pressedKey.Key == ConsoleKey.Y; + tryNec |= pressedKey.Key == ConsoleKey.Y; } if(!tryPioneer) @@ -1825,7 +1825,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaType + ".bin", "read results", buffer); } - if(tryNEC) + if(tryNec) { mediaTest.SupportsNECReadCDDASpecified = true; DicConsole.WriteLine("Trying NEC READ CD-DA..."); @@ -1863,7 +1863,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(debug) { - if(!tryHLDTST) + if(!tryHldtst) { pressedKey = new ConsoleKeyInfo(); while(pressedKey.Key != ConsoleKey.Y && pressedKey.Key != ConsoleKey.N) @@ -1874,7 +1874,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI DicConsole.WriteLine(); } - tryHLDTST |= pressedKey.Key == ConsoleKey.Y; + tryHldtst |= pressedKey.Key == ConsoleKey.Y; } } @@ -1907,7 +1907,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI mediaTest.SupportsPlextorReadRawDVD = !ArrayHelpers.ArrayIsNullOrEmpty(buffer); } - if(tryHLDTST) + if(tryHldtst) { mediaTest.SupportsHLDTSTReadRawDVDSpecified = true; DicConsole.WriteLine("Trying HL-DT-ST (aka LG) trick to raw read DVDs..."); diff --git a/DiscImageChef.Core/Devices/Report/SCSI/SSC.cs b/DiscImageChef.Core/Devices/Report/SCSI/SSC.cs index 3e16b1005..a7957b94c 100644 --- a/DiscImageChef.Core/Devices/Report/SCSI/SSC.cs +++ b/DiscImageChef.Core/Devices/Report/SCSI/SSC.cs @@ -38,7 +38,7 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report.SCSI { - internal static class SSC + internal static class Ssc { internal static void Report(Device dev, ref DeviceReport report, bool debug) { @@ -57,23 +57,23 @@ namespace DiscImageChef.Core.Devices.Report.SCSI sense = dev.ReadBlockLimits(out buffer, out senseBuffer, timeout, out duration); if(!sense) { - Decoders.SCSI.SSC.BlockLimits.BlockLimitsData? decBL = Decoders.SCSI.SSC.BlockLimits.Decode(buffer); - if(decBL.HasValue) + Decoders.SCSI.SSC.BlockLimits.BlockLimitsData? decBl = Decoders.SCSI.SSC.BlockLimits.Decode(buffer); + if(decBl.HasValue) { - if(decBL.Value.granularity > 0) + if(decBl.Value.granularity > 0) { report.SCSI.SequentialDevice.BlockSizeGranularitySpecified = true; - report.SCSI.SequentialDevice.BlockSizeGranularity = decBL.Value.granularity; + report.SCSI.SequentialDevice.BlockSizeGranularity = decBl.Value.granularity; } - if(decBL.Value.maxBlockLen > 0) + if(decBl.Value.maxBlockLen > 0) { report.SCSI.SequentialDevice.MaxBlockLengthSpecified = true; - report.SCSI.SequentialDevice.MaxBlockLength = decBL.Value.maxBlockLen; + report.SCSI.SequentialDevice.MaxBlockLength = decBl.Value.maxBlockLen; } - if(decBL.Value.minBlockLen > 0) + if(decBl.Value.minBlockLen > 0) { report.SCSI.SequentialDevice.MinBlockLengthSpecified = true; - report.SCSI.SequentialDevice.MinBlockLength = decBL.Value.minBlockLen; + report.SCSI.SequentialDevice.MinBlockLength = decBl.Value.minBlockLen; } } } @@ -225,7 +225,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense10 = true; - decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.SCSIType); + decMode = Decoders.SCSI.Modes.DecodeMode10(buffer, dev.ScsiType); if(debug) seqTest.ModeSense10Data = buffer; } @@ -234,7 +234,7 @@ namespace DiscImageChef.Core.Devices.Report.SCSI if(!sense && !dev.Error) { report.SCSI.SupportsModeSense6 = true; - if(!decMode.HasValue) decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.SCSIType); + if(!decMode.HasValue) decMode = Decoders.SCSI.Modes.DecodeMode6(buffer, dev.ScsiType); if(debug) seqTest.ModeSense6Data = buffer; } diff --git a/DiscImageChef.Core/Devices/Report/SecureDigital.cs b/DiscImageChef.Core/Devices/Report/SecureDigital.cs index 77860ac98..183286f4a 100644 --- a/DiscImageChef.Core/Devices/Report/SecureDigital.cs +++ b/DiscImageChef.Core/Devices/Report/SecureDigital.cs @@ -46,7 +46,7 @@ namespace DiscImageChef.Core.Devices.Report else if(dev.Type == DeviceType.SecureDigital) report.SecureDigital = new mmcsdType(); DicConsole.WriteLine("Trying to get CID..."); - bool sense = dev.ReadCID(out byte[] cid, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCid(out byte[] cid, out uint[] response, dev.Timeout, out double duration); if(!sense) { @@ -77,7 +77,7 @@ namespace DiscImageChef.Core.Devices.Report else DicConsole.WriteLine("Could not read CID..."); DicConsole.WriteLine("Trying to get CSD..."); - sense = dev.ReadCSD(out byte[] csd, out response, dev.Timeout, out duration); + sense = dev.ReadCsd(out byte[] csd, out response, dev.Timeout, out duration); if(!sense) { @@ -91,7 +91,7 @@ namespace DiscImageChef.Core.Devices.Report if(dev.Type == DeviceType.MMC) { DicConsole.WriteLine("Trying to get OCR..."); - sense = dev.ReadOCR(out byte[] ocr, out response, dev.Timeout, out duration); + sense = dev.ReadOcr(out byte[] ocr, out response, dev.Timeout, out duration); if(!sense) { @@ -101,7 +101,7 @@ namespace DiscImageChef.Core.Devices.Report else DicConsole.WriteLine("Could not read OCR..."); DicConsole.WriteLine("Trying to get Extended CSD..."); - sense = dev.ReadExtendedCSD(out byte[] ecsd, out response, dev.Timeout, out duration); + sense = dev.ReadExtendedCsd(out byte[] ecsd, out response, dev.Timeout, out duration); if(!sense) { @@ -113,7 +113,7 @@ namespace DiscImageChef.Core.Devices.Report else if(dev.Type == DeviceType.SecureDigital) { DicConsole.WriteLine("Trying to get OCR..."); - sense = dev.ReadSDOCR(out byte[] ocr, out response, dev.Timeout, out duration); + sense = dev.ReadSdocr(out byte[] ocr, out response, dev.Timeout, out duration); if(!sense) { @@ -123,7 +123,7 @@ namespace DiscImageChef.Core.Devices.Report else DicConsole.WriteLine("Could not read OCR..."); DicConsole.WriteLine("Trying to get SCR..."); - sense = dev.ReadSCR(out byte[] scr, out response, dev.Timeout, out duration); + sense = dev.ReadScr(out byte[] scr, out response, dev.Timeout, out duration); if(!sense) { diff --git a/DiscImageChef.Core/Devices/Report/USB.cs b/DiscImageChef.Core/Devices/Report/USB.cs index 841e04db8..f8ea73109 100644 --- a/DiscImageChef.Core/Devices/Report/USB.cs +++ b/DiscImageChef.Core/Devices/Report/USB.cs @@ -37,7 +37,7 @@ using DiscImageChef.Metadata; namespace DiscImageChef.Core.Devices.Report { - static class USB + static class Usb { internal static void Report(Device dev, ref DeviceReport report, bool debug, ref bool removable) { @@ -54,10 +54,10 @@ namespace DiscImageChef.Core.Devices.Report if(pressedKey.Key == ConsoleKey.Y) { report.USB = new usbType(); - report.USB.Manufacturer = dev.USBManufacturerString; - report.USB.Product = dev.USBProductString; - report.USB.ProductID = dev.USBProductID; - report.USB.VendorID = dev.USBVendorID; + report.USB.Manufacturer = dev.UsbManufacturerString; + report.USB.Product = dev.UsbProductString; + report.USB.ProductID = dev.UsbProductId; + report.USB.VendorID = dev.UsbVendorId; pressedKey = new ConsoleKeyInfo(); while(pressedKey.Key != ConsoleKey.Y && pressedKey.Key != ConsoleKey.N) @@ -69,7 +69,7 @@ namespace DiscImageChef.Core.Devices.Report report.USB.RemovableMedia = pressedKey.Key == ConsoleKey.Y; removable = report.USB.RemovableMedia; - if(debug) report.USB.Descriptors = dev.USBDescriptors; + if(debug) report.USB.Descriptors = dev.UsbDescriptors; } } } diff --git a/DiscImageChef.Core/Devices/Scanning/ATA.cs b/DiscImageChef.Core/Devices/Scanning/ATA.cs index 094d3d616..eff7be6b3 100644 --- a/DiscImageChef.Core/Devices/Scanning/ATA.cs +++ b/DiscImageChef.Core/Devices/Scanning/ATA.cs @@ -38,17 +38,17 @@ using DiscImageChef.Devices; namespace DiscImageChef.Core.Devices.Scanning { - public static class ATA + public static class Ata { - public static ScanResults Scan(string MHDDLogPath, string IBGLogPath, string devicePath, Device dev) + public static ScanResults Scan(string mhddLogPath, string ibgLogPath, string devicePath, Device dev) { ScanResults results = new ScanResults(); bool aborted; - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; byte[] cmdBuf; bool sense; - results.blocks = 0; + results.Blocks = 0; ushort currentProfile = 0x0001; Decoders.ATA.AtaErrorRegistersCHS errorChs; uint timeout = 5; @@ -62,7 +62,7 @@ namespace DiscImageChef.Core.Devices.Scanning // Initializate reader Reader ataReader = new Reader(dev, timeout, cmdBuf); // Fill reader blocks - results.blocks = ataReader.GetDeviceBlocks(); + results.Blocks = ataReader.GetDeviceBlocks(); if(ataReader.FindReadCommand()) { DicConsole.ErrorWriteLine(ataReader.ErrorMessage); @@ -94,24 +94,24 @@ namespace DiscImageChef.Core.Devices.Scanning results.D = 0; // >=50ms, <150ms results.E = 0; // >=150ms, <500ms results.F = 0; // >=500ms - results.errored = 0; + results.Errored = 0; DateTime start; DateTime end; - results.processingTime = 0; + results.ProcessingTime = 0; double currentSpeed = 0; - results.maxSpeed = double.MinValue; - results.minSpeed = double.MaxValue; - results.unreadableSectors = new List(); - results.seekMax = double.MinValue; - results.seekMin = double.MaxValue; - results.seekTotal = 0; - const int seekTimes = 1000; + results.MaxSpeed = double.MinValue; + results.MinSpeed = double.MaxValue; + results.UnreadableSectors = new List(); + results.SeekMax = double.MinValue; + results.SeekMin = double.MaxValue; + results.SeekTotal = 0; + const int SEEK_TIMES = 1000; double seekCur = 0; Random rnd = new Random(); - uint seekPos = (uint)rnd.Next((int)results.blocks); + uint seekPos = (uint)rnd.Next((int)results.Blocks); ushort seekCy = (ushort)rnd.Next(cylinders); byte seekHd = (byte)rnd.Next(heads); byte seekSc = (byte)rnd.Next(sectors); @@ -119,26 +119,26 @@ namespace DiscImageChef.Core.Devices.Scanning aborted = false; System.Console.CancelKeyPress += (sender, e) => { e.Cancel = aborted = true; }; - if(ataReader.IsLBA) + if(ataReader.IsLba) { DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(MHDDLogPath, dev, results.blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(IBGLogPath, currentProfile); + mhddLog = new MhddLog(mhddLogPath, dev, results.Blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(ibgLogPath, currentProfile); start = DateTime.UtcNow; - for(ulong i = 0; i < results.blocks; i += blocksToRead) + for(ulong i = 0; i < results.Blocks; i += blocksToRead) { if(aborted) break; - if((results.blocks - i) < blocksToRead) blocksToRead = (byte)(results.blocks - i); + if((results.Blocks - i) < blocksToRead) blocksToRead = (byte)(results.Blocks - i); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(currentSpeed > results.maxSpeed && currentSpeed != 0) results.maxSpeed = currentSpeed; - if(currentSpeed < results.minSpeed && currentSpeed != 0) results.minSpeed = currentSpeed; + if(currentSpeed > results.MaxSpeed && currentSpeed != 0) results.MaxSpeed = currentSpeed; + if(currentSpeed < results.MinSpeed && currentSpeed != 0) results.MinSpeed = currentSpeed; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.blocks, + DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.Blocks, currentSpeed); bool error = ataReader.ReadBlocks(out cmdBuf, i, blocksToRead, out duration); @@ -157,8 +157,8 @@ namespace DiscImageChef.Core.Devices.Scanning } else { - results.errored += blocksToRead; - for(ulong b = i; b < i + blocksToRead; b++) results.unreadableSectors.Add(b); + results.Errored += blocksToRead; + for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b); if(duration < 500) mhddLog.Write(i, 65535); else mhddLog.Write(i, duration); @@ -176,60 +176,60 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine(); mhddLog.Close(); #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - ibgLog.Close(dev, results.blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, - (((double)blockSize * (double)(results.blocks + 1)) / 1024) / - (results.processingTime / 1000), devicePath); + ibgLog.Close(dev, results.Blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, + (((double)blockSize * (double)(results.Blocks + 1)) / 1024) / + (results.ProcessingTime / 1000), devicePath); #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values - if(ataReader.CanSeekLBA) + if(ataReader.CanSeekLba) { - for(int i = 0; i < seekTimes; i++) + for(int i = 0; i < SEEK_TIMES; i++) { if(aborted) break; - seekPos = (uint)rnd.Next((int)results.blocks); + seekPos = (uint)rnd.Next((int)results.Blocks); DicConsole.Write("\rSeeking to sector {0}...\t\t", seekPos); ataReader.Seek(seekPos, out seekCur); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(seekCur > results.seekMax && seekCur != 0) results.seekMax = seekCur; - if(seekCur < results.seekMin && seekCur != 0) results.seekMin = seekCur; + if(seekCur > results.SeekMax && seekCur != 0) results.SeekMax = seekCur; + if(seekCur < results.SeekMin && seekCur != 0) results.SeekMin = seekCur; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - results.seekTotal += seekCur; + results.SeekTotal += seekCur; GC.Collect(); } } } else { - mhddLog = new MHDDLog(MHDDLogPath, dev, results.blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(IBGLogPath, currentProfile); + mhddLog = new MhddLog(mhddLogPath, dev, results.Blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(ibgLogPath, currentProfile); ulong currentBlock = 0; - results.blocks = (ulong)(cylinders * heads * sectors); + results.Blocks = (ulong)(cylinders * heads * sectors); start = DateTime.UtcNow; - for(ushort Cy = 0; Cy < cylinders; Cy++) + for(ushort cy = 0; cy < cylinders; cy++) { - for(byte Hd = 0; Hd < heads; Hd++) + for(byte hd = 0; hd < heads; hd++) { - for(byte Sc = 1; Sc < sectors; Sc++) + for(byte sc = 1; sc < sectors; sc++) { if(aborted) break; #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(currentSpeed > results.maxSpeed && currentSpeed != 0) - results.maxSpeed = currentSpeed; - if(currentSpeed < results.minSpeed && currentSpeed != 0) - results.minSpeed = currentSpeed; + if(currentSpeed > results.MaxSpeed && currentSpeed != 0) + results.MaxSpeed = currentSpeed; + if(currentSpeed < results.MinSpeed && currentSpeed != 0) + results.MinSpeed = currentSpeed; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - DicConsole.Write("\rReading cylinder {0} head {1} sector {2} ({3:F3} MiB/sec.)", Cy, Hd, - Sc, currentSpeed); + DicConsole.Write("\rReading cylinder {0} head {1} sector {2} ({3:F3} MiB/sec.)", cy, hd, + sc, currentSpeed); - bool error = ataReader.ReadCHS(out cmdBuf, Cy, Hd, Sc, out duration); + bool error = ataReader.ReadChs(out cmdBuf, cy, hd, sc, out duration); if(!error) { @@ -245,8 +245,8 @@ namespace DiscImageChef.Core.Devices.Scanning } else { - results.errored += blocksToRead; - results.unreadableSectors.Add(currentBlock); + results.Errored += blocksToRead; + results.UnreadableSectors.Add(currentBlock); if(duration < 500) mhddLog.Write(currentBlock, 65535); else mhddLog.Write(currentBlock, duration); @@ -267,14 +267,14 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine(); mhddLog.Close(); #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - ibgLog.Close(dev, results.blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, - (((double)blockSize * (double)(results.blocks + 1)) / 1024) / - (results.processingTime / 1000), devicePath); + ibgLog.Close(dev, results.Blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, + (((double)blockSize * (double)(results.Blocks + 1)) / 1024) / + (results.ProcessingTime / 1000), devicePath); #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values if(ataReader.CanSeek) { - for(int i = 0; i < seekTimes; i++) + for(int i = 0; i < SEEK_TIMES; i++) { if(aborted) break; @@ -285,14 +285,14 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.Write("\rSeeking to cylinder {0}, head {1}, sector {2}...\t\t", seekCy, seekHd, seekSc); - ataReader.SeekCHS(seekCy, seekHd, seekSc, out seekCur); + ataReader.SeekChs(seekCy, seekHd, seekSc, out seekCur); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(seekCur > results.seekMax && seekCur != 0) results.seekMax = seekCur; - if(seekCur < results.seekMin && seekCur != 0) results.seekMin = seekCur; + if(seekCur > results.SeekMax && seekCur != 0) results.SeekMax = seekCur; + if(seekCur < results.SeekMin && seekCur != 0) results.SeekMin = seekCur; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - results.seekTotal += seekCur; + results.SeekTotal += seekCur; GC.Collect(); } } @@ -300,13 +300,13 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine(); - results.processingTime /= 1000; - results.totalTime = (end - start).TotalSeconds; + results.ProcessingTime /= 1000; + results.TotalTime = (end - start).TotalSeconds; #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - results.avgSpeed = (((double)blockSize * (double)(results.blocks + 1)) / 1048576) / - results.processingTime; + results.AvgSpeed = (((double)blockSize * (double)(results.Blocks + 1)) / 1048576) / + results.ProcessingTime; #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values - results.seekTimes = seekTimes; + results.SeekTimes = SEEK_TIMES; return results; } diff --git a/DiscImageChef.Core/Devices/Scanning/NVMe.cs b/DiscImageChef.Core/Devices/Scanning/NVMe.cs index 9ad89d857..ced229d5d 100644 --- a/DiscImageChef.Core/Devices/Scanning/NVMe.cs +++ b/DiscImageChef.Core/Devices/Scanning/NVMe.cs @@ -35,9 +35,9 @@ using DiscImageChef.Devices; namespace DiscImageChef.Core.Devices.Scanning { - public static class NVMe + public static class Nvme { - public static ScanResults Scan(string MHDDLogPath, string IBGLogPath, string devicePath, Device dev) + public static ScanResults Scan(string mhddLogPath, string ibgLogPath, string devicePath, Device dev) { throw new NotImplementedException("NVMe devices not yet supported."); } diff --git a/DiscImageChef.Core/Devices/Scanning/SCSI.cs b/DiscImageChef.Core/Devices/Scanning/SCSI.cs index 62cb6fb46..dcf1a4479 100644 --- a/DiscImageChef.Core/Devices/Scanning/SCSI.cs +++ b/DiscImageChef.Core/Devices/Scanning/SCSI.cs @@ -38,19 +38,19 @@ using DiscImageChef.Devices; namespace DiscImageChef.Core.Devices.Scanning { - public static class SCSI + public static class Scsi { - public static ScanResults Scan(string MHDDLogPath, string IBGLogPath, string devicePath, Device dev) + public static ScanResults Scan(string mhddLogPath, string ibgLogPath, string devicePath, Device dev) { ScanResults results = new ScanResults(); bool aborted; - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; byte[] cmdBuf; byte[] senseBuf; bool sense = false; double duration; - results.blocks = 0; + results.Blocks = 0; uint blockSize = 0; ushort currentProfile = 0x0001; @@ -139,15 +139,15 @@ namespace DiscImageChef.Core.Devices.Scanning Reader scsiReader = null; - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.DirectAccess || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.OCRWDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.OpticalDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SimplifiedDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.WriteOnceDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.DirectAccess || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.OCRWDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.OpticalDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SimplifiedDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.WriteOnceDevice) { scsiReader = new Reader(dev, dev.Timeout, null, false); - results.blocks = scsiReader.GetDeviceBlocks(); + results.Blocks = scsiReader.GetDeviceBlocks(); if(scsiReader.FindReadCommand()) { DicConsole.ErrorWriteLine("Unable to read medium."); @@ -156,24 +156,24 @@ namespace DiscImageChef.Core.Devices.Scanning blockSize = scsiReader.LogicalBlockSize; - if(results.blocks != 0 && blockSize != 0) + if(results.Blocks != 0 && blockSize != 0) { - results.blocks++; + results.Blocks++; #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values DicConsole.WriteLine("Media has {0} blocks of {1} bytes/each. (for a total of {2} bytes)", - results.blocks, blockSize, results.blocks * (ulong)blockSize); + results.Blocks, blockSize, results.Blocks * (ulong)blockSize); #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values } } - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) { DicConsole.WriteLine("Scanning will never be supported on SCSI Streaming Devices."); DicConsole.WriteLine("It has no sense to do it, and it will put too much strain on the tape."); return results; } - if(results.blocks == 0) + if(results.Blocks == 0) { DicConsole.ErrorWriteLine("Unable to read medium or empty medium present..."); return results; @@ -182,7 +182,7 @@ namespace DiscImageChef.Core.Devices.Scanning bool compactDisc = true; Decoders.CD.FullTOC.CDFullTOC? toc = null; - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { sense = dev.GetConfiguration(out cmdBuf, out senseBuf, 0, MmcGetConfigurationRt.Current, dev.Timeout, out duration); @@ -227,15 +227,15 @@ namespace DiscImageChef.Core.Devices.Scanning results.D = 0; // >=50ms, <150ms results.E = 0; // >=150ms, <500ms results.F = 0; // >=500ms - results.errored = 0; + results.Errored = 0; DateTime start; DateTime end; - results.processingTime = 0; - results.totalTime = 0; + results.ProcessingTime = 0; + results.TotalTime = 0; double currentSpeed = 0; - results.maxSpeed = double.MinValue; - results.minSpeed = double.MaxValue; - results.unreadableSectors = new List(); + results.MaxSpeed = double.MinValue; + results.MinSpeed = double.MaxValue; + results.UnreadableSectors = new List(); aborted = false; System.Console.CancelKeyPress += (sender, e) => { e.Cancel = aborted = true; }; @@ -279,30 +279,30 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(MHDDLogPath, dev, results.blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(IBGLogPath, currentProfile); + mhddLog = new MhddLog(mhddLogPath, dev, results.Blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(ibgLogPath, currentProfile); - for(ulong i = 0; i < results.blocks; i += blocksToRead) + for(ulong i = 0; i < results.Blocks; i += blocksToRead) { if(aborted) break; double cmdDuration = 0; - if((results.blocks - i) < blocksToRead) blocksToRead = (uint)(results.blocks - i); + if((results.Blocks - i) < blocksToRead) blocksToRead = (uint)(results.Blocks - i); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(currentSpeed > results.maxSpeed && currentSpeed != 0) results.maxSpeed = currentSpeed; - if(currentSpeed < results.minSpeed && currentSpeed != 0) results.minSpeed = currentSpeed; + if(currentSpeed > results.MaxSpeed && currentSpeed != 0) results.MaxSpeed = currentSpeed; + if(currentSpeed < results.MinSpeed && currentSpeed != 0) results.MinSpeed = currentSpeed; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.blocks, currentSpeed); + DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.Blocks, currentSpeed); if(readcd) { sense = dev.ReadCd(out readBuffer, out senseBuf, (uint)i, 2352, blocksToRead, MmcSectorTypes.AllTypes, false, false, true, MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out cmdDuration); - results.processingTime += cmdDuration; + results.ProcessingTime += cmdDuration; } if(!sense) @@ -332,8 +332,8 @@ namespace DiscImageChef.Core.Devices.Scanning // are in a track where subchannel indicates data) (senseDecoded.Value.ASC != 0x64 || senseDecoded.Value.ASCQ != 0x00)) { - results.errored += blocksToRead; - for(ulong b = i; b < i + blocksToRead; b++) results.unreadableSectors.Add(b); + results.Errored += blocksToRead; + for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b); if(cmdDuration < 500) mhddLog.Write(i, 65535); else mhddLog.Write(i, cmdDuration); @@ -343,8 +343,8 @@ namespace DiscImageChef.Core.Devices.Scanning } else { - results.errored += blocksToRead; - for(ulong b = i; b < i + blocksToRead; b++) results.unreadableSectors.Add(b); + results.Errored += blocksToRead; + for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b); if(cmdDuration < 500) mhddLog.Write(i, 65535); else mhddLog.Write(i, cmdDuration); @@ -363,9 +363,9 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine(); mhddLog.Close(); #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - ibgLog.Close(dev, results.blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, - (((double)blockSize * (double)(results.blocks + 1)) / 1024) / - (results.processingTime / 1000), devicePath); + ibgLog.Close(dev, results.Blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, + (((double)blockSize * (double)(results.Blocks + 1)) / 1024) / + (results.ProcessingTime / 1000), devicePath); #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values } else @@ -374,26 +374,26 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(MHDDLogPath, dev, results.blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(IBGLogPath, currentProfile); + mhddLog = new MhddLog(mhddLogPath, dev, results.Blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(ibgLogPath, currentProfile); - for(ulong i = 0; i < results.blocks; i += blocksToRead) + for(ulong i = 0; i < results.Blocks; i += blocksToRead) { if(aborted) break; double cmdDuration = 0; - if((results.blocks - i) < blocksToRead) blocksToRead = (uint)(results.blocks - i); + if((results.Blocks - i) < blocksToRead) blocksToRead = (uint)(results.Blocks - i); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(currentSpeed > results.maxSpeed && currentSpeed != 0) results.maxSpeed = currentSpeed; - if(currentSpeed < results.minSpeed && currentSpeed != 0) results.minSpeed = currentSpeed; + if(currentSpeed > results.MaxSpeed && currentSpeed != 0) results.MaxSpeed = currentSpeed; + if(currentSpeed < results.MinSpeed && currentSpeed != 0) results.MinSpeed = currentSpeed; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.blocks, currentSpeed); + DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.Blocks, currentSpeed); sense = scsiReader.ReadBlocks(out readBuffer, i, blocksToRead, out cmdDuration); - results.processingTime += cmdDuration; + results.ProcessingTime += cmdDuration; if(!sense && !dev.Error) { @@ -410,8 +410,8 @@ namespace DiscImageChef.Core.Devices.Scanning // TODO: Separate errors on kind of errors. else { - results.errored += blocksToRead; - for(ulong b = i; b < i + blocksToRead; b++) results.unreadableSectors.Add(b); + results.Errored += blocksToRead; + for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b); if(cmdDuration < 500) mhddLog.Write(i, 65535); else mhddLog.Write(i, cmdDuration); @@ -427,28 +427,28 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine(); mhddLog.Close(); #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - ibgLog.Close(dev, results.blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, - (((double)blockSize * (double)(results.blocks + 1)) / 1024) / - (results.processingTime / 1000), devicePath); + ibgLog.Close(dev, results.Blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, + (((double)blockSize * (double)(results.Blocks + 1)) / 1024) / + (results.ProcessingTime / 1000), devicePath); #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values } - results.seekMax = double.MinValue; - results.seekMin = double.MaxValue; - results.seekTotal = 0; - const int seekTimes = 1000; + results.SeekMax = double.MinValue; + results.SeekMin = double.MaxValue; + results.SeekTotal = 0; + const int SEEK_TIMES = 1000; double seekCur = 0; Random rnd = new Random(); - uint seekPos = (uint)rnd.Next((int)results.blocks); + uint seekPos = (uint)rnd.Next((int)results.Blocks); - for(int i = 0; i < seekTimes; i++) + for(int i = 0; i < SEEK_TIMES; i++) { if(aborted) break; - seekPos = (uint)rnd.Next((int)results.blocks); + seekPos = (uint)rnd.Next((int)results.Blocks); DicConsole.Write("\rSeeking to sector {0}...\t\t", seekPos); @@ -456,22 +456,22 @@ namespace DiscImageChef.Core.Devices.Scanning else scsiReader.ReadBlock(out readBuffer, seekPos, out seekCur); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(seekCur > results.seekMax && seekCur != 0) results.seekMax = seekCur; - if(seekCur < results.seekMin && seekCur != 0) results.seekMin = seekCur; + if(seekCur > results.SeekMax && seekCur != 0) results.SeekMax = seekCur; + if(seekCur < results.SeekMin && seekCur != 0) results.SeekMin = seekCur; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - results.seekTotal += seekCur; + results.SeekTotal += seekCur; GC.Collect(); } DicConsole.WriteLine(); - results.processingTime /= 1000; - results.totalTime = (end - start).TotalSeconds; + results.ProcessingTime /= 1000; + results.TotalTime = (end - start).TotalSeconds; #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - results.avgSpeed = (((double)blockSize * (double)(results.blocks + 1)) / 1048576) / results.processingTime; + results.AvgSpeed = (((double)blockSize * (double)(results.Blocks + 1)) / 1048576) / results.ProcessingTime; #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values - results.seekTimes = seekTimes; + results.SeekTimes = SEEK_TIMES; return results; } diff --git a/DiscImageChef.Core/Devices/Scanning/ScanResults.cs b/DiscImageChef.Core/Devices/Scanning/ScanResults.cs index 9419f677d..fa8a76f84 100644 --- a/DiscImageChef.Core/Devices/Scanning/ScanResults.cs +++ b/DiscImageChef.Core/Devices/Scanning/ScanResults.cs @@ -36,23 +36,23 @@ namespace DiscImageChef.Core.Devices.Scanning { public struct ScanResults { - public double totalTime; - public double processingTime; - public double avgSpeed; - public double maxSpeed; - public double minSpeed; + public double TotalTime; + public double ProcessingTime; + public double AvgSpeed; + public double MaxSpeed; + public double MinSpeed; public ulong A; public ulong B; public ulong C; public ulong D; public ulong E; public ulong F; - public List unreadableSectors; - public double seekMax; - public double seekMin; - public double seekTotal; - public int seekTimes; - public ulong blocks; - public ulong errored; + public List UnreadableSectors; + public double SeekMax; + public double SeekMin; + public double SeekTotal; + public int SeekTimes; + public ulong Blocks; + public ulong Errored; } } \ No newline at end of file diff --git a/DiscImageChef.Core/Devices/Scanning/SecureDigital.cs b/DiscImageChef.Core/Devices/Scanning/SecureDigital.cs index 61ac9a919..2282dcba2 100644 --- a/DiscImageChef.Core/Devices/Scanning/SecureDigital.cs +++ b/DiscImageChef.Core/Devices/Scanning/SecureDigital.cs @@ -41,15 +41,15 @@ namespace DiscImageChef.Core.Devices.Scanning { public static class SecureDigital { - public static ScanResults Scan(string MHDDLogPath, string IBGLogPath, string devicePath, Device dev) + public static ScanResults Scan(string mhddLogPath, string ibgLogPath, string devicePath, Device dev) { ScanResults results = new ScanResults(); bool aborted; - MHDDLog mhddLog; - IBGLog ibgLog; + MhddLog mhddLog; + IbgLog ibgLog; byte[] cmdBuf; bool sense; - results.blocks = 0; + results.Blocks = 0; uint[] response; uint timeout = 5; double duration = 0; @@ -63,24 +63,24 @@ namespace DiscImageChef.Core.Devices.Scanning ExtendedCSD ecsd = new ExtendedCSD(); CSD csd = new CSD(); - sense = dev.ReadExtendedCSD(out cmdBuf, out response, timeout, out duration); + sense = dev.ReadExtendedCsd(out cmdBuf, out response, timeout, out duration); if(!sense) { ecsd = Decoders.MMC.Decoders.DecodeExtendedCSD(cmdBuf); blocksToRead = ecsd.OptimalReadSize; - results.blocks = ecsd.SectorCount; + results.Blocks = ecsd.SectorCount; blockSize = (uint)(ecsd.SectorSize == 1 ? 4096 : 512); // Supposing it's high-capacity MMC if it has Extended CSD... byteAddressed = false; } - if(sense || results.blocks == 0) + if(sense || results.Blocks == 0) { - sense = dev.ReadCSD(out cmdBuf, out response, timeout, out duration); + sense = dev.ReadCsd(out cmdBuf, out response, timeout, out duration); if(!sense) { csd = Decoders.MMC.Decoders.DecodeCSD(cmdBuf); - results.blocks = (ulong)((csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2)); + results.Blocks = (ulong)((csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2)); blockSize = (uint)Math.Pow(2, csd.ReadBlockLength); } } @@ -89,11 +89,11 @@ namespace DiscImageChef.Core.Devices.Scanning { Decoders.SecureDigital.CSD csd = new Decoders.SecureDigital.CSD(); - sense = dev.ReadCSD(out cmdBuf, out response, timeout, out duration); + sense = dev.ReadCsd(out cmdBuf, out response, timeout, out duration); if(!sense) { csd = Decoders.SecureDigital.Decoders.DecodeCSD(cmdBuf); - results.blocks = (ulong)(csd.Structure == 0 + results.Blocks = (ulong)(csd.Structure == 0 ? (csd.Size + 1) * Math.Pow(2, csd.SizeMultiplier + 2) : (csd.Size + 1) * 1024); blockSize = (uint)Math.Pow(2, csd.ReadBlockLength); @@ -102,7 +102,7 @@ namespace DiscImageChef.Core.Devices.Scanning } } - if(results.blocks == 0) + if(results.Blocks == 0) { DicConsole.ErrorWriteLine("Unable to get device size."); return results; @@ -133,46 +133,46 @@ namespace DiscImageChef.Core.Devices.Scanning results.D = 0; // >=50ms, <150ms results.E = 0; // >=150ms, <500ms results.F = 0; // >=500ms - results.errored = 0; + results.Errored = 0; DateTime start; DateTime end; - results.processingTime = 0; + results.ProcessingTime = 0; double currentSpeed = 0; - results.maxSpeed = double.MinValue; - results.minSpeed = double.MaxValue; - results.unreadableSectors = new List(); - results.seekMax = double.MinValue; - results.seekMin = double.MaxValue; - results.seekTotal = 0; - const int seekTimes = 1000; + results.MaxSpeed = double.MinValue; + results.MinSpeed = double.MaxValue; + results.UnreadableSectors = new List(); + results.SeekMax = double.MinValue; + results.SeekMin = double.MaxValue; + results.SeekTotal = 0; + const int SEEK_TIMES = 1000; double seekCur = 0; Random rnd = new Random(); - uint seekPos = (uint)rnd.Next((int)results.blocks); + uint seekPos = (uint)rnd.Next((int)results.Blocks); aborted = false; System.Console.CancelKeyPress += (sender, e) => { e.Cancel = aborted = true; }; DicConsole.WriteLine("Reading {0} sectors at a time.", blocksToRead); - mhddLog = new MHDDLog(MHDDLogPath, dev, results.blocks, blockSize, blocksToRead); - ibgLog = new IBGLog(IBGLogPath, currentProfile); + mhddLog = new MhddLog(mhddLogPath, dev, results.Blocks, blockSize, blocksToRead); + ibgLog = new IbgLog(ibgLogPath, currentProfile); start = DateTime.UtcNow; - for(ulong i = 0; i < results.blocks; i += blocksToRead) + for(ulong i = 0; i < results.Blocks; i += blocksToRead) { if(aborted) break; - if((results.blocks - i) < blocksToRead) blocksToRead = (byte)(results.blocks - i); + if((results.Blocks - i) < blocksToRead) blocksToRead = (byte)(results.Blocks - i); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(currentSpeed > results.maxSpeed && currentSpeed != 0) results.maxSpeed = currentSpeed; - if(currentSpeed < results.minSpeed && currentSpeed != 0) results.minSpeed = currentSpeed; + if(currentSpeed > results.MaxSpeed && currentSpeed != 0) results.MaxSpeed = currentSpeed; + if(currentSpeed < results.MinSpeed && currentSpeed != 0) results.MinSpeed = currentSpeed; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.blocks, currentSpeed); + DicConsole.Write("\rReading sector {0} of {1} ({2:F3} MiB/sec.)", i, results.Blocks, currentSpeed); bool error = dev.Read(out cmdBuf, out response, (uint)i, blockSize, blocksToRead, byteAddressed, timeout, out duration); @@ -191,8 +191,8 @@ namespace DiscImageChef.Core.Devices.Scanning } else { - results.errored += blocksToRead; - for(ulong b = i; b < i + blocksToRead; b++) results.unreadableSectors.Add(b); + results.Errored += blocksToRead; + for(ulong b = i; b < i + blocksToRead; b++) results.UnreadableSectors.Add(b); if(duration < 500) mhddLog.Write(i, 65535); else mhddLog.Write(i, duration); @@ -210,16 +210,16 @@ namespace DiscImageChef.Core.Devices.Scanning DicConsole.WriteLine(); mhddLog.Close(); #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - ibgLog.Close(dev, results.blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, - (((double)blockSize * (double)(results.blocks + 1)) / 1024) / (results.processingTime / 1000), + ibgLog.Close(dev, results.Blocks, blockSize, (end - start).TotalSeconds, currentSpeed * 1024, + (((double)blockSize * (double)(results.Blocks + 1)) / 1024) / (results.ProcessingTime / 1000), devicePath); #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values - for(int i = 0; i < seekTimes; i++) + for(int i = 0; i < SEEK_TIMES; i++) { if(aborted) break; - seekPos = (uint)rnd.Next((int)results.blocks); + seekPos = (uint)rnd.Next((int)results.Blocks); DicConsole.Write("\rSeeking to sector {0}...\t\t", seekPos); @@ -227,22 +227,22 @@ namespace DiscImageChef.Core.Devices.Scanning out seekCur); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(seekCur > results.seekMax && seekCur != 0) results.seekMax = seekCur; - if(seekCur < results.seekMin && seekCur != 0) results.seekMin = seekCur; + if(seekCur > results.SeekMax && seekCur != 0) results.SeekMax = seekCur; + if(seekCur < results.SeekMin && seekCur != 0) results.SeekMin = seekCur; #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator - results.seekTotal += seekCur; + results.SeekTotal += seekCur; GC.Collect(); } DicConsole.WriteLine(); - results.processingTime /= 1000; - results.totalTime = (end - start).TotalSeconds; + results.ProcessingTime /= 1000; + results.TotalTime = (end - start).TotalSeconds; #pragma warning disable IDE0004 // Without this specific cast, it gives incorrect values - results.avgSpeed = (((double)blockSize * (double)(results.blocks + 1)) / 1048576) / results.processingTime; + results.AvgSpeed = (((double)blockSize * (double)(results.Blocks + 1)) / 1048576) / results.ProcessingTime; #pragma warning restore IDE0004 // Without this specific cast, it gives incorrect values - results.seekTimes = seekTimes; + results.SeekTimes = SEEK_TIMES; return results; } diff --git a/DiscImageChef.Core/Filesystems.cs b/DiscImageChef.Core/Filesystems.cs index 18e3454de..371ced3f7 100644 --- a/DiscImageChef.Core/Filesystems.cs +++ b/DiscImageChef.Core/Filesystems.cs @@ -33,21 +33,21 @@ using System.Collections.Generic; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Core { public static class Filesystems { - public static void Identify(ImagePlugin imagePlugin, out List id_plugins, Partition partition) + public static void Identify(ImagePlugin imagePlugin, out List idPlugins, Partition partition) { - id_plugins = new List(); + idPlugins = new List(); PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { - if(_plugin.Identify(imagePlugin, partition)) id_plugins.Add(_plugin.Name.ToLower()); + if(plugin.Identify(imagePlugin, partition)) idPlugins.Add(plugin.Name.ToLower()); } } } diff --git a/DiscImageChef.Core/ImageFormat.cs b/DiscImageChef.Core/ImageFormat.cs index 5f11a3ba3..c69892e59 100644 --- a/DiscImageChef.Core/ImageFormat.cs +++ b/DiscImageChef.Core/ImageFormat.cs @@ -33,7 +33,7 @@ using System; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Core { @@ -43,23 +43,23 @@ namespace DiscImageChef.Core { try { - ImagePlugin _imageFormat; + ImagePlugin imageFormat; PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(); - _imageFormat = null; + imageFormat = null; // Check all but RAW plugin - foreach(ImagePlugin _imageplugin in plugins.ImagePluginsList.Values) + foreach(ImagePlugin imageplugin in plugins.ImagePluginsList.Values) { - if(_imageplugin.PluginUUID != new Guid("12345678-AAAA-BBBB-CCCC-123456789000")) + if(imageplugin.PluginUuid != new Guid("12345678-AAAA-BBBB-CCCC-123456789000")) { try { - DicConsole.DebugWriteLine("Format detection", "Trying plugin {0}", _imageplugin.Name); - if(_imageplugin.IdentifyImage(imageFilter)) + DicConsole.DebugWriteLine("Format detection", "Trying plugin {0}", imageplugin.Name); + if(imageplugin.IdentifyImage(imageFilter)) { - _imageFormat = _imageplugin; + imageFormat = imageplugin; break; } } @@ -70,18 +70,18 @@ namespace DiscImageChef.Core } // Check only RAW plugin - if(_imageFormat == null) + if(imageFormat == null) { - foreach(ImagePlugin _imageplugin in plugins.ImagePluginsList.Values) + foreach(ImagePlugin imageplugin in plugins.ImagePluginsList.Values) { - if(_imageplugin.PluginUUID == new Guid("12345678-AAAA-BBBB-CCCC-123456789000")) + if(imageplugin.PluginUuid == new Guid("12345678-AAAA-BBBB-CCCC-123456789000")) { try { - DicConsole.DebugWriteLine("Format detection", "Trying plugin {0}", _imageplugin.Name); - if(_imageplugin.IdentifyImage(imageFilter)) + DicConsole.DebugWriteLine("Format detection", "Trying plugin {0}", imageplugin.Name); + if(imageplugin.IdentifyImage(imageFilter)) { - _imageFormat = _imageplugin; + imageFormat = imageplugin; break; } } @@ -93,9 +93,9 @@ namespace DiscImageChef.Core } // Still not recognized - if(_imageFormat == null) { return null; } + if(imageFormat == null) { return null; } - return _imageFormat; + return imageFormat; } catch { return null; } } diff --git a/DiscImageChef.Core/Logging/DumpLog.cs b/DiscImageChef.Core/Logging/DumpLog.cs index 6cbb9dabf..eac4b52e8 100644 --- a/DiscImageChef.Core/Logging/DumpLog.cs +++ b/DiscImageChef.Core/Logging/DumpLog.cs @@ -84,22 +84,22 @@ namespace DiscImageChef.Core.Logging logSw.WriteLine("Removable device: {0}", dev.IsRemovable); logSw.WriteLine("Device type: {0}", dev.Type); logSw.WriteLine("CompactFlash device: {0}", dev.IsCompactFlash); - logSw.WriteLine("PCMCIA device: {0}", dev.IsPCMCIA); - logSw.WriteLine("USB device: {0}", dev.IsUSB); - if(dev.IsUSB) + logSw.WriteLine("PCMCIA device: {0}", dev.IsPcmcia); + logSw.WriteLine("USB device: {0}", dev.IsUsb); + if(dev.IsUsb) { - logSw.WriteLine("USB manufacturer: {0}", dev.USBManufacturerString); - logSw.WriteLine("USB product: {0}", dev.USBProductString); - logSw.WriteLine("USB serial: {0}", dev.USBSerialString); - logSw.WriteLine("USB vendor ID: {0:X4}h", dev.USBVendorID); - logSw.WriteLine("USB product ID: {0:X4}h", dev.USBProductID); + logSw.WriteLine("USB manufacturer: {0}", dev.UsbManufacturerString); + logSw.WriteLine("USB product: {0}", dev.UsbProductString); + logSw.WriteLine("USB serial: {0}", dev.UsbSerialString); + logSw.WriteLine("USB vendor ID: {0:X4}h", dev.UsbVendorId); + logSw.WriteLine("USB product ID: {0:X4}h", dev.UsbProductId); } logSw.WriteLine("FireWire device: {0}", dev.IsFireWire); if(dev.IsFireWire) { logSw.WriteLine("FireWire vendor: {0}", dev.FireWireVendorName); logSw.WriteLine("FireWire model: {0}", dev.FireWireModelName); - logSw.WriteLine("FireWire GUID: 0x{0:X16}", dev.FireWireGUID); + logSw.WriteLine("FireWire GUID: 0x{0:X16}", dev.FireWireGuid); logSw.WriteLine("FireWire vendor ID: 0x{0:X8}", dev.FireWireVendor); logSw.WriteLine("FireWire product ID: 0x{0:X8}", dev.FireWireModel); } diff --git a/DiscImageChef.Core/Logging/IBGLog.cs b/DiscImageChef.Core/Logging/IBGLog.cs index ed7e1364c..3de9021be 100644 --- a/DiscImageChef.Core/Logging/IBGLog.cs +++ b/DiscImageChef.Core/Logging/IBGLog.cs @@ -38,7 +38,7 @@ using DiscImageChef.Devices; namespace DiscImageChef.Core.Logging { - class IBGLog + class IbgLog { static FileStream ibgFs; static StringBuilder ibgSb; @@ -54,7 +54,7 @@ namespace DiscImageChef.Core.Logging static ulong ibgIntSector; static int ibgSampleRate; - internal IBGLog(string outputFile, ushort currentProfile) + internal IbgLog(string outputFile, ushort currentProfile) { if(!string.IsNullOrEmpty(outputFile)) { @@ -230,7 +230,7 @@ namespace DiscImageChef.Core.Logging StringBuilder ibgHeader = new StringBuilder(); string ibgBusType; - if(dev.IsUSB) ibgBusType = "USB"; + if(dev.IsUsb) ibgBusType = "USB"; else if(dev.IsFireWire) ibgBusType = "FireWire"; else ibgBusType = dev.Type.ToString(); diff --git a/DiscImageChef.Core/Logging/MHDDLog.cs b/DiscImageChef.Core/Logging/MHDDLog.cs index ff48867d1..6078b1fff 100644 --- a/DiscImageChef.Core/Logging/MHDDLog.cs +++ b/DiscImageChef.Core/Logging/MHDDLog.cs @@ -37,11 +37,11 @@ using DiscImageChef.Devices; namespace DiscImageChef.Core.Logging { - class MHDDLog + class MhddLog { FileStream mhddFs; - internal MHDDLog(string outputFile, Device dev, ulong blocks, ulong blockSize, ulong blocksToRead) + internal MhddLog(string outputFile, Device dev, ulong blocks, ulong blockSize, ulong blocksToRead) { if(dev != null && !string.IsNullOrEmpty(outputFile)) { @@ -98,7 +98,7 @@ namespace DiscImageChef.Core.Logging byte[] scanblocksizeBytes = Encoding.ASCII.GetBytes(scanblocksize); byte[] verBytes = Encoding.ASCII.GetBytes(ver); - uint Pointer = (uint)(deviceBytes.Length + modeBytes.Length + fwBytes.Length + snBytes.Length + + uint pointer = (uint)(deviceBytes.Length + modeBytes.Length + fwBytes.Length + snBytes.Length + sectorsBytes.Length + sectorsizeBytes.Length + scanblocksizeBytes.Length + verBytes.Length + 2 * 9 + // New lines 4); // Pointer @@ -107,7 +107,7 @@ namespace DiscImageChef.Core.Logging newLine[0] = 0x0D; newLine[1] = 0x0A; - mhddFs.Write(BitConverter.GetBytes(Pointer), 0, 4); + mhddFs.Write(BitConverter.GetBytes(pointer), 0, 4); mhddFs.Write(newLine, 0, 2); mhddFs.Write(verBytes, 0, verBytes.Length); mhddFs.Write(newLine, 0, 2); diff --git a/DiscImageChef.Core/Partitions.cs b/DiscImageChef.Core/Partitions.cs index 19870c58e..b0fc3b7fd 100644 --- a/DiscImageChef.Core/Partitions.cs +++ b/DiscImageChef.Core/Partitions.cs @@ -34,8 +34,8 @@ using System.Collections.Generic; using System.Linq; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.DiscImages; +using DiscImageChef.Partitions; namespace DiscImageChef.Core { @@ -50,11 +50,11 @@ namespace DiscImageChef.Core List checkedLocations = new List(); // Getting all partitions from device (e.g. tracks) - if(image.ImageInfo.imageHasPartitions) + if(image.ImageInfo.ImageHasPartitions) { foreach(Partition imagePartition in image.GetPartitions()) { - foreach(PartPlugin _partplugin in plugins.PartPluginsList.Values) + foreach(PartitionPlugin _partplugin in plugins.PartPluginsList.Values) { if(_partplugin.GetInformation(image, out List _partitions, imagePartition.Start)) { @@ -70,7 +70,7 @@ namespace DiscImageChef.Core // Getting all partitions at start of device else { - foreach(PartPlugin _partplugin in plugins.PartPluginsList.Values) + foreach(PartitionPlugin _partplugin in plugins.PartPluginsList.Values) { if(_partplugin.GetInformation(image, out List _partitions, 0)) { @@ -93,7 +93,7 @@ namespace DiscImageChef.Core List childs = new List(); - foreach(PartPlugin _partplugin in plugins.PartPluginsList.Values) + foreach(PartitionPlugin _partplugin in plugins.PartPluginsList.Values) { DicConsole.DebugWriteLine("Partitions", "Trying {0} @ {1}", _partplugin.Name, partitions[0].Start); if(_partplugin.GetInformation(image, out List _partitions, partitions[0].Start)) @@ -129,7 +129,7 @@ namespace DiscImageChef.Core } // Be sure that device partitions are not excluded if not mapped by any scheme... - if(image.ImageInfo.imageHasPartitions) + if(image.ImageInfo.ImageHasPartitions) { List startLocations = new List(); diff --git a/DiscImageChef.Core/PluginBase.cs b/DiscImageChef.Core/PluginBase.cs index 52a224196..3225ac8b5 100644 --- a/DiscImageChef.Core/PluginBase.cs +++ b/DiscImageChef.Core/PluginBase.cs @@ -36,21 +36,21 @@ using System.Reflection; using System.Text; using DiscImageChef.Console; using DiscImageChef.Filesystems; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.DiscImages; +using DiscImageChef.Partitions; namespace DiscImageChef.Core { public class PluginBase { public SortedDictionary PluginsList; - public SortedDictionary PartPluginsList; + public SortedDictionary PartPluginsList; public SortedDictionary ImagePluginsList; public PluginBase() { PluginsList = new SortedDictionary(); - PartPluginsList = new SortedDictionary(); + PartPluginsList = new SortedDictionary(); ImagePluginsList = new SortedDictionary(); } @@ -73,15 +73,15 @@ namespace DiscImageChef.Core catch(Exception exception) { DicConsole.ErrorWriteLine("Exception {0}", exception); } } - assembly = Assembly.GetAssembly(typeof(PartPlugin)); + assembly = Assembly.GetAssembly(typeof(PartitionPlugin)); foreach(Type type in assembly.GetTypes()) { try { - if(type.IsSubclassOf(typeof(PartPlugin))) + if(type.IsSubclassOf(typeof(PartitionPlugin))) { - PartPlugin plugin = (PartPlugin)type.GetConstructor(Type.EmptyTypes).Invoke(new object[] { }); + PartitionPlugin plugin = (PartitionPlugin)type.GetConstructor(Type.EmptyTypes).Invoke(new object[] { }); RegisterPartPlugin(plugin); } } @@ -121,7 +121,7 @@ namespace DiscImageChef.Core if(!PluginsList.ContainsKey(plugin.Name.ToLower())) { PluginsList.Add(plugin.Name.ToLower(), plugin); } } - void RegisterPartPlugin(PartPlugin partplugin) + void RegisterPartPlugin(PartitionPlugin partplugin) { if(!PartPluginsList.ContainsKey(partplugin.Name.ToLower())) { diff --git a/DiscImageChef.Core/Sidecar/AudioMedia.cs b/DiscImageChef.Core/Sidecar/AudioMedia.cs index da03c0dab..3aec46fb9 100644 --- a/DiscImageChef.Core/Sidecar/AudioMedia.cs +++ b/DiscImageChef.Core/Sidecar/AudioMedia.cs @@ -32,7 +32,7 @@ using System.Collections.Generic; using System.IO; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; namespace DiscImageChef.Core diff --git a/DiscImageChef.Core/Sidecar/BlockMedia.cs b/DiscImageChef.Core/Sidecar/BlockMedia.cs index 9137c9ca1..0aa8d52e9 100644 --- a/DiscImageChef.Core/Sidecar/BlockMedia.cs +++ b/DiscImageChef.Core/Sidecar/BlockMedia.cs @@ -39,7 +39,7 @@ using DiscImageChef.Console; using DiscImageChef.Decoders.PCMCIA; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; using Tuple = DiscImageChef.Decoders.PCMCIA.Tuple; @@ -78,7 +78,7 @@ namespace DiscImageChef.Core sidecar.BlockMedia[0].Sequence.TotalMedia = 1; } - foreach(MediaTagType tagType in image.ImageInfo.readableMediaTags) + foreach(MediaTagType tagType in image.ImageInfo.ReadableMediaTags) { switch(tagType) { @@ -233,7 +233,7 @@ namespace DiscImageChef.Core } // If there is only one track, and it's the same as the image file (e.g. ".iso" files), don't re-checksum. - if(image.PluginUUID == new System.Guid("12345678-AAAA-BBBB-CCCC-123456789000") && + if(image.PluginUuid == new System.Guid("12345678-AAAA-BBBB-CCCC-123456789000") && filterId == new System.Guid("12345678-AAAA-BBBB-CCCC-123456789000")) { sidecar.BlockMedia[0].ContentChecksums = sidecar.BlockMedia[0].Checksums; @@ -280,12 +280,12 @@ namespace DiscImageChef.Core EndProgress2(); } - Metadata.MediaType.MediaTypeToString(image.ImageInfo.mediaType, out string dskType, out string dskSubType); + Metadata.MediaType.MediaTypeToString(image.ImageInfo.MediaType, out string dskType, out string dskSubType); sidecar.BlockMedia[0].DiskType = dskType; sidecar.BlockMedia[0].DiskSubType = dskSubType; - Statistics.AddMedia(image.ImageInfo.mediaType, false); + Statistics.AddMedia(image.ImageInfo.MediaType, false); - sidecar.BlockMedia[0].Dimensions = Metadata.Dimensions.DimensionsFromMediaType(image.ImageInfo.mediaType); + sidecar.BlockMedia[0].Dimensions = Metadata.Dimensions.DimensionsFromMediaType(image.ImageInfo.MediaType); sidecar.BlockMedia[0].LogicalBlocks = (long)image.GetSectors(); sidecar.BlockMedia[0].LogicalBlockSize = (int)image.GetSectorSize(); @@ -314,15 +314,15 @@ namespace DiscImageChef.Core }; List lstFs = new List(); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(image, partitions[i])) + if(plugin.Identify(image, partitions[i])) { - _plugin.GetInformation(image, partitions[i], out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); + plugin.GetInformation(image, partitions[i], out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -350,15 +350,15 @@ namespace DiscImageChef.Core List lstFs = new List(); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(image, wholePart)) + if(plugin.Identify(image, wholePart)) { - _plugin.GetInformation(image, wholePart, out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); + plugin.GetInformation(image, wholePart, out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -372,17 +372,17 @@ namespace DiscImageChef.Core if(lstFs.Count > 0) sidecar.BlockMedia[0].FileSystemInformation[0].FileSystems = lstFs.ToArray(); } - if(image.ImageInfo.cylinders > 0 && image.ImageInfo.heads > 0 && image.ImageInfo.sectorsPerTrack > 0) + if(image.ImageInfo.Cylinders > 0 && image.ImageInfo.Heads > 0 && image.ImageInfo.SectorsPerTrack > 0) { sidecar.BlockMedia[0].CylindersSpecified = true; sidecar.BlockMedia[0].HeadsSpecified = true; sidecar.BlockMedia[0].SectorsPerTrackSpecified = true; - sidecar.BlockMedia[0].Cylinders = image.ImageInfo.cylinders; - sidecar.BlockMedia[0].Heads = image.ImageInfo.heads; - sidecar.BlockMedia[0].SectorsPerTrack = image.ImageInfo.sectorsPerTrack; + sidecar.BlockMedia[0].Cylinders = image.ImageInfo.Cylinders; + sidecar.BlockMedia[0].Heads = image.ImageInfo.Heads; + sidecar.BlockMedia[0].SectorsPerTrack = image.ImageInfo.SectorsPerTrack; } - if(image.ImageInfo.readableMediaTags.Contains(MediaTagType.ATA_IDENTIFY)) + if(image.ImageInfo.ReadableMediaTags.Contains(MediaTagType.ATA_IDENTIFY)) { Decoders.ATA.Identify.IdentifyDevice? ataId = Decoders.ATA.Identify.Decode(image.ReadDiskTag(MediaTagType.ATA_IDENTIFY)); @@ -413,7 +413,7 @@ namespace DiscImageChef.Core // TODO: This is more of a hack, redo it planned for >4.0 string trkFormat = null; - switch(image.ImageInfo.mediaType) + switch(image.ImageInfo.MediaType) { case MediaType.Apple32SS: case MediaType.Apple32DS: @@ -536,51 +536,51 @@ namespace DiscImageChef.Core if(File.Exists(scpFilePath)) { - ImagePlugins.SuperCardPro scpImage = new SuperCardPro(); + DiscImages.SuperCardPro scpImage = new SuperCardPro(); Filters.ZZZNoFilter scpFilter = new ZZZNoFilter(); scpFilter.Open(scpFilePath); - if(image.ImageInfo.heads <= 2 && scpImage.IdentifyImage(scpFilter)) + if(image.ImageInfo.Heads <= 2 && scpImage.IdentifyImage(scpFilter)) { try { scpImage.OpenImage(scpFilter); } catch(NotImplementedException) { } - if((image.ImageInfo.heads == 2 && scpImage.header.heads == 0) || - (image.ImageInfo.heads == 1 && (scpImage.header.heads == 1 || scpImage.header.heads == 2))) + if((image.ImageInfo.Heads == 2 && scpImage.Header.heads == 0) || + (image.ImageInfo.Heads == 1 && (scpImage.Header.heads == 1 || scpImage.Header.heads == 2))) { - if(scpImage.header.end + 1 >= image.ImageInfo.cylinders) + if(scpImage.Header.end + 1 >= image.ImageInfo.Cylinders) { List scpBlockTrackTypes = new List(); long currentSector = 0; Stream scpStream = scpFilter.GetDataForkStream(); - for(byte t = scpImage.header.start; t <= scpImage.header.end; t++) + for(byte t = scpImage.Header.start; t <= scpImage.Header.end; t++) { BlockTrackType scpBlockTrackType = new BlockTrackType(); - scpBlockTrackType.Cylinder = t / image.ImageInfo.heads; - scpBlockTrackType.Head = t % image.ImageInfo.heads; + scpBlockTrackType.Cylinder = t / image.ImageInfo.Heads; + scpBlockTrackType.Head = t % image.ImageInfo.Heads; scpBlockTrackType.Image = new ImageType(); scpBlockTrackType.Image.format = scpImage.GetImageFormat(); scpBlockTrackType.Image.Value = Path.GetFileName(scpFilePath); - scpBlockTrackType.Image.offset = scpImage.header.offsets[t]; + scpBlockTrackType.Image.offset = scpImage.Header.offsets[t]; - if(scpBlockTrackType.Cylinder < image.ImageInfo.cylinders) + if(scpBlockTrackType.Cylinder < image.ImageInfo.Cylinders) { scpBlockTrackType.StartSector = currentSector; - currentSector += image.ImageInfo.sectorsPerTrack; + currentSector += image.ImageInfo.SectorsPerTrack; scpBlockTrackType.EndSector = currentSector - 1; - scpBlockTrackType.Sectors = image.ImageInfo.sectorsPerTrack; - scpBlockTrackType.BytesPerSector = (int)image.ImageInfo.sectorSize; + scpBlockTrackType.Sectors = image.ImageInfo.SectorsPerTrack; + scpBlockTrackType.BytesPerSector = (int)image.ImageInfo.SectorSize; scpBlockTrackType.Format = trkFormat; } - if(scpImage.tracks.TryGetValue(t, out SuperCardPro.TrackHeader scpTrack)) + if(scpImage.Tracks.TryGetValue(t, out SuperCardPro.TrackHeader scpTrack)) { byte[] trackContents = - new byte[(scpTrack.entries.Last().dataOffset + - scpTrack.entries.Last().trackLength) - scpImage.header.offsets[t] + + new byte[(scpTrack.Entries.Last().dataOffset + + scpTrack.Entries.Last().trackLength) - scpImage.Header.offsets[t] + 1]; - scpStream.Position = scpImage.header.offsets[t]; + scpStream.Position = scpImage.Header.offsets[t]; scpStream.Read(trackContents, 0, trackContents.Length); scpBlockTrackType.Size = trackContents.Length; scpBlockTrackType.Checksums = Checksum.GetChecksums(trackContents).ToArray(); @@ -595,12 +595,12 @@ namespace DiscImageChef.Core else DicConsole .ErrorWriteLine("SuperCardPro image do not contain same number of tracks ({0}) than disk image ({1}), ignoring...", - scpImage.header.end + 1, image.ImageInfo.cylinders); + scpImage.Header.end + 1, image.ImageInfo.Cylinders); } else DicConsole .ErrorWriteLine("SuperCardPro image do not contain same number of heads ({0}) than disk image ({1}), ignoring...", - 2, image.ImageInfo.heads); + 2, image.ImageInfo.Heads); } } #endregion @@ -625,17 +625,17 @@ namespace DiscImageChef.Core if(kfFile != null) { - ImagePlugins.KryoFlux kfImage = new KryoFlux(); + DiscImages.KryoFlux kfImage = new KryoFlux(); Filters.ZZZNoFilter kfFilter = new ZZZNoFilter(); kfFilter.Open(kfFile); - if(image.ImageInfo.heads <= 2 && kfImage.IdentifyImage(kfFilter)) + if(image.ImageInfo.Heads <= 2 && kfImage.IdentifyImage(kfFilter)) { try { kfImage.OpenImage(kfFilter); } catch(NotImplementedException) { } - if(kfImage.ImageInfo.heads == image.ImageInfo.heads) + if(kfImage.ImageInfo.Heads == image.ImageInfo.Heads) { - if(kfImage.ImageInfo.cylinders >= image.ImageInfo.cylinders) + if(kfImage.ImageInfo.Cylinders >= image.ImageInfo.Cylinders) { List kfBlockTrackTypes = new List(); @@ -644,8 +644,8 @@ namespace DiscImageChef.Core foreach(KeyValuePair kvp in kfImage.tracks) { BlockTrackType kfBlockTrackType = new BlockTrackType(); - kfBlockTrackType.Cylinder = kvp.Key / image.ImageInfo.heads; - kfBlockTrackType.Head = kvp.Key % image.ImageInfo.heads; + kfBlockTrackType.Cylinder = kvp.Key / image.ImageInfo.Heads; + kfBlockTrackType.Head = kvp.Key % image.ImageInfo.Heads; kfBlockTrackType.Image = new ImageType(); kfBlockTrackType.Image.format = kfImage.GetImageFormat(); kfBlockTrackType.Image.Value = @@ -655,13 +655,13 @@ namespace DiscImageChef.Core : kvp.Value.GetFilename(); kfBlockTrackType.Image.offset = 0; - if(kfBlockTrackType.Cylinder < image.ImageInfo.cylinders) + if(kfBlockTrackType.Cylinder < image.ImageInfo.Cylinders) { kfBlockTrackType.StartSector = currentSector; - currentSector += image.ImageInfo.sectorsPerTrack; + currentSector += image.ImageInfo.SectorsPerTrack; kfBlockTrackType.EndSector = currentSector - 1; - kfBlockTrackType.Sectors = image.ImageInfo.sectorsPerTrack; - kfBlockTrackType.BytesPerSector = (int)image.ImageInfo.sectorSize; + kfBlockTrackType.Sectors = image.ImageInfo.SectorsPerTrack; + kfBlockTrackType.BytesPerSector = (int)image.ImageInfo.SectorSize; kfBlockTrackType.Format = trkFormat; } @@ -681,12 +681,12 @@ namespace DiscImageChef.Core else DicConsole .ErrorWriteLine("KryoFlux image do not contain same number of tracks ({0}) than disk image ({1}), ignoring...", - kfImage.ImageInfo.cylinders, image.ImageInfo.cylinders); + kfImage.ImageInfo.Cylinders, image.ImageInfo.Cylinders); } else DicConsole .ErrorWriteLine("KryoFluximage do not contain same number of heads ({0}) than disk image ({1}), ignoring...", - kfImage.ImageInfo.heads, image.ImageInfo.heads); + kfImage.ImageInfo.Heads, image.ImageInfo.Heads); } } #endregion @@ -697,7 +697,7 @@ namespace DiscImageChef.Core if(File.Exists(dfiFilePath)) { - ImagePlugins.DiscFerret dfiImage = new DiscFerret(); + DiscImages.DiscFerret dfiImage = new DiscFerret(); Filters.ZZZNoFilter dfiFilter = new ZZZNoFilter(); dfiFilter.Open(dfiFilePath); @@ -706,35 +706,35 @@ namespace DiscImageChef.Core try { dfiImage.OpenImage(dfiFilter); } catch(NotImplementedException) { } - if(image.ImageInfo.heads == dfiImage.ImageInfo.heads) + if(image.ImageInfo.Heads == dfiImage.ImageInfo.Heads) { - if(dfiImage.ImageInfo.cylinders >= image.ImageInfo.cylinders) + if(dfiImage.ImageInfo.Cylinders >= image.ImageInfo.Cylinders) { List dfiBlockTrackTypes = new List(); long currentSector = 0; Stream dfiStream = dfiFilter.GetDataForkStream(); - foreach(int t in dfiImage.trackOffsets.Keys) + foreach(int t in dfiImage.TrackOffsets.Keys) { BlockTrackType dfiBlockTrackType = new BlockTrackType(); - dfiBlockTrackType.Cylinder = t / image.ImageInfo.heads; - dfiBlockTrackType.Head = t % image.ImageInfo.heads; + dfiBlockTrackType.Cylinder = t / image.ImageInfo.Heads; + dfiBlockTrackType.Head = t % image.ImageInfo.Heads; dfiBlockTrackType.Image = new ImageType(); dfiBlockTrackType.Image.format = dfiImage.GetImageFormat(); dfiBlockTrackType.Image.Value = Path.GetFileName(dfiFilePath); - if(dfiBlockTrackType.Cylinder < image.ImageInfo.cylinders) + if(dfiBlockTrackType.Cylinder < image.ImageInfo.Cylinders) { dfiBlockTrackType.StartSector = currentSector; - currentSector += image.ImageInfo.sectorsPerTrack; + currentSector += image.ImageInfo.SectorsPerTrack; dfiBlockTrackType.EndSector = currentSector - 1; - dfiBlockTrackType.Sectors = image.ImageInfo.sectorsPerTrack; - dfiBlockTrackType.BytesPerSector = (int)image.ImageInfo.sectorSize; + dfiBlockTrackType.Sectors = image.ImageInfo.SectorsPerTrack; + dfiBlockTrackType.BytesPerSector = (int)image.ImageInfo.SectorSize; dfiBlockTrackType.Format = trkFormat; } - if(dfiImage.trackOffsets.TryGetValue(t, out long offset) && - dfiImage.trackLengths.TryGetValue(t, out long length)) + if(dfiImage.TrackOffsets.TryGetValue(t, out long offset) && + dfiImage.TrackLengths.TryGetValue(t, out long length)) { dfiBlockTrackType.Image.offset = offset; byte[] trackContents = new byte[length]; @@ -753,12 +753,12 @@ namespace DiscImageChef.Core else DicConsole .ErrorWriteLine("DiscFerret image do not contain same number of tracks ({0}) than disk image ({1}), ignoring...", - dfiImage.ImageInfo.cylinders, image.ImageInfo.cylinders); + dfiImage.ImageInfo.Cylinders, image.ImageInfo.Cylinders); } else DicConsole .ErrorWriteLine("DiscFerret image do not contain same number of heads ({0}) than disk image ({1}), ignoring...", - dfiImage.ImageInfo.heads, image.ImageInfo.heads); + dfiImage.ImageInfo.Heads, image.ImageInfo.Heads); } } #endregion diff --git a/DiscImageChef.Core/Sidecar/LinearMedia.cs b/DiscImageChef.Core/Sidecar/LinearMedia.cs index fa6c3e502..769e51dce 100644 --- a/DiscImageChef.Core/Sidecar/LinearMedia.cs +++ b/DiscImageChef.Core/Sidecar/LinearMedia.cs @@ -32,7 +32,7 @@ using System.Collections.Generic; using System.IO; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; namespace DiscImageChef.Core diff --git a/DiscImageChef.Core/Sidecar/OpticalDisc.cs b/DiscImageChef.Core/Sidecar/OpticalDisc.cs index 3494fbb12..bac5e733c 100644 --- a/DiscImageChef.Core/Sidecar/OpticalDisc.cs +++ b/DiscImageChef.Core/Sidecar/OpticalDisc.cs @@ -34,7 +34,7 @@ using System.Collections.Generic; using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; namespace DiscImageChef.Core @@ -72,9 +72,9 @@ namespace DiscImageChef.Core sidecar.OpticalDisc[0].Sequence.TotalMedia = 1; } - MediaType dskType = image.ImageInfo.mediaType; + MediaType dskType = image.ImageInfo.MediaType; - foreach(MediaTagType tagType in image.ImageInfo.readableMediaTags) + foreach(MediaTagType tagType in image.ImageInfo.ReadableMediaTags) { switch(tagType) { @@ -254,22 +254,22 @@ namespace DiscImageChef.Core Schemas.TrackType xmlTrk = new Schemas.TrackType(); switch(trk.TrackType) { - case ImagePlugins.TrackType.Audio: + case DiscImages.TrackType.Audio: xmlTrk.TrackType1 = TrackTypeTrackType.audio; break; - case ImagePlugins.TrackType.CDMode2Form2: + case DiscImages.TrackType.CdMode2Form2: xmlTrk.TrackType1 = TrackTypeTrackType.m2f2; break; - case ImagePlugins.TrackType.CDMode2Formless: + case DiscImages.TrackType.CdMode2Formless: xmlTrk.TrackType1 = TrackTypeTrackType.mode2; break; - case ImagePlugins.TrackType.CDMode2Form1: + case DiscImages.TrackType.CdMode2Form1: xmlTrk.TrackType1 = TrackTypeTrackType.m2f1; break; - case ImagePlugins.TrackType.CDMode1: + case DiscImages.TrackType.CdMode1: xmlTrk.TrackType1 = TrackTypeTrackType.mode1; break; - case ImagePlugins.TrackType.Data: + case DiscImages.TrackType.Data: switch(sidecar.OpticalDisc[0].DiscType) { case "BD": @@ -329,7 +329,7 @@ namespace DiscImageChef.Core ulong doneSectors = 0; // If there is only one track, and it's the same as the image file (e.g. ".iso" files), don't re-checksum. - if(image.PluginUUID == new System.Guid("12345678-AAAA-BBBB-CCCC-123456789000") && + if(image.PluginUuid == new System.Guid("12345678-AAAA-BBBB-CCCC-123456789000") && // Only if filter is none... (filterId == new System.Guid("12345678-AAAA-BBBB-CCCC-123456789000") || // ...or AppleDouble @@ -422,7 +422,7 @@ namespace DiscImageChef.Core if((sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectorsTag(doneSectors, sectorsToRead, (uint)xmlTrk.Sequence.TrackNumber, - SectorTagType.CDSectorSubchannel); + SectorTagType.CdSectorSubchannel); UpdateProgress2("Hashings subchannel sector {0} of {1}", (long)doneSectors, (long)(trk.TrackEndSector - trk.TrackStartSector + 1)); doneSectors += sectorsToRead; @@ -431,7 +431,7 @@ namespace DiscImageChef.Core { sector = image.ReadSectorsTag(doneSectors, (uint)(sectors - doneSectors), (uint)xmlTrk.Sequence.TrackNumber, - SectorTagType.CDSectorSubchannel); + SectorTagType.CdSectorSubchannel); UpdateProgress2("Hashings subchannel sector {0} of {1}", (long)doneSectors, (long)(trk.TrackEndSector - trk.TrackStartSector + 1)); doneSectors += (sectors - doneSectors); @@ -473,21 +473,21 @@ namespace DiscImageChef.Core }; List lstFs = new List(); - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(image, partitions[i])) + if(plugin.Identify(image, partitions[i])) { - _plugin.GetInformation(image, partitions[i], out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); + plugin.GetInformation(image, partitions[i], out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); - if(_plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; - if(_plugin.XmlFSType.Type == "PC Engine filesystem") + if(plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; + if(plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; - if(_plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; - if(_plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") + if(plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; + if(plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; } } @@ -519,20 +519,20 @@ namespace DiscImageChef.Core Size = (ulong)xmlTrk.Size, Sequence = (ulong)xmlTrk.Sequence.TrackNumber }; - foreach(Filesystem _plugin in plugins.PluginsList.Values) + foreach(Filesystem plugin in plugins.PluginsList.Values) { try { - if(_plugin.Identify(image, xmlPart)) + if(plugin.Identify(image, xmlPart)) { - _plugin.GetInformation(image, xmlPart, out string foo); - lstFs.Add(_plugin.XmlFSType); - Statistics.AddFilesystem(_plugin.XmlFSType.Type); + plugin.GetInformation(image, xmlPart, out string foo); + lstFs.Add(plugin.XmlFSType); + Statistics.AddFilesystem(plugin.XmlFSType.Type); - if(_plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; - if(_plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; - if(_plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; - if(_plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; + if(plugin.XmlFSType.Type == "Opera") dskType = MediaType.ThreeDO; + if(plugin.XmlFSType.Type == "PC Engine filesystem") dskType = MediaType.SuperCDROM2; + if(plugin.XmlFSType.Type == "Nintendo Wii filesystem") dskType = MediaType.WOD; + if(plugin.XmlFSType.Type == "Nintendo Gamecube filesystem") dskType = MediaType.GOD; } } #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body @@ -569,20 +569,20 @@ namespace DiscImageChef.Core sidecar.OpticalDisc[0].DiscSubType = dscSubType; Statistics.AddMedia(dskType, false); - if(!string.IsNullOrEmpty(image.ImageInfo.driveManufacturer) || - !string.IsNullOrEmpty(image.ImageInfo.driveModel) || - !string.IsNullOrEmpty(image.ImageInfo.driveFirmwareRevision) || - !string.IsNullOrEmpty(image.ImageInfo.driveSerialNumber)) + if(!string.IsNullOrEmpty(image.ImageInfo.DriveManufacturer) || + !string.IsNullOrEmpty(image.ImageInfo.DriveModel) || + !string.IsNullOrEmpty(image.ImageInfo.DriveFirmwareRevision) || + !string.IsNullOrEmpty(image.ImageInfo.DriveSerialNumber)) { sidecar.OpticalDisc[0].DumpHardwareArray = new[] { new DumpHardwareType { - Extents = new[] {new ExtentType {Start = 0, End = image.ImageInfo.sectors}}, - Manufacturer = image.ImageInfo.driveManufacturer, - Model = image.ImageInfo.driveModel, - Firmware = image.ImageInfo.driveFirmwareRevision, - Serial = image.ImageInfo.driveSerialNumber, + Extents = new[] {new ExtentType {Start = 0, End = image.ImageInfo.Sectors}}, + Manufacturer = image.ImageInfo.DriveManufacturer, + Model = image.ImageInfo.DriveModel, + Firmware = image.ImageInfo.DriveFirmwareRevision, + Serial = image.ImageInfo.DriveSerialNumber, Software = new SoftwareType { Name = image.GetImageApplication(), diff --git a/DiscImageChef.Core/Sidecar/Sidecar.cs b/DiscImageChef.Core/Sidecar/Sidecar.cs index 87f166b42..ac966e117 100644 --- a/DiscImageChef.Core/Sidecar/Sidecar.cs +++ b/DiscImageChef.Core/Sidecar/Sidecar.cs @@ -32,7 +32,7 @@ using System.Collections.Generic; using System.IO; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; namespace DiscImageChef.Core @@ -84,7 +84,7 @@ namespace DiscImageChef.Core List imgChecksums = imgChkWorker.End(); - switch(image.ImageInfo.xmlMediaType) + switch(image.ImageInfo.XmlMediaType) { case XmlMediaType.OpticalDisc: OpticalDisc(image, filterId, imagePath, fi, plugins, imgChecksums, ref sidecar); diff --git a/DiscImageChef.Core/Statistics.cs b/DiscImageChef.Core/Statistics.cs index 6fa52cb7f..fccdb7f9e 100644 --- a/DiscImageChef.Core/Statistics.cs +++ b/DiscImageChef.Core/Statistics.cs @@ -570,7 +570,7 @@ namespace DiscImageChef.Core if(CurrentStats.Devices == null) CurrentStats.Devices = new List(); string deviceBus; - if(dev.IsUSB) deviceBus = "USB"; + if(dev.IsUsb) deviceBus = "USB"; else if(dev.IsFireWire) deviceBus = "FireWire"; else deviceBus = dev.Type.ToString(); diff --git a/DiscImageChef.Devices/Command.cs b/DiscImageChef.Devices/Command.cs index d556326ad..5bb1940f9 100644 --- a/DiscImageChef.Devices/Command.cs +++ b/DiscImageChef.Devices/Command.cs @@ -54,9 +54,9 @@ namespace DiscImageChef.Devices internal static int SendScsiCommand(object fd, byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, uint timeout, ScsiDirection direction, out double duration, out bool sense) { - Interop.PlatformID ptID = DetectOS.GetRealPlatformID(); + Interop.PlatformID ptId = DetectOS.GetRealPlatformID(); - return SendScsiCommand(ptID, fd, cdb, ref buffer, out senseBuffer, timeout, direction, out duration, + return SendScsiCommand(ptId, fd, cdb, ref buffer, out senseBuffer, timeout, direction, out duration, out sense); } @@ -64,7 +64,7 @@ namespace DiscImageChef.Devices /// Sends a SCSI command /// /// 0 if no error occurred, otherwise, errno - /// Platform ID for executing the command + /// Platform ID for executing the command /// File handle /// SCSI CDB /// Buffer for SCSI command response @@ -73,11 +73,11 @@ namespace DiscImageChef.Devices /// SCSI command transfer direction /// Time it took to execute the command in milliseconds /// True if SCSI error returned non-OK status and contains SCSI sense - internal static int SendScsiCommand(Interop.PlatformID ptID, object fd, byte[] cdb, ref byte[] buffer, + internal static int SendScsiCommand(Interop.PlatformID ptId, object fd, byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, uint timeout, ScsiDirection direction, out double duration, out bool sense) { - switch(ptID) + switch(ptId) { case Interop.PlatformID.Win32NT: { @@ -127,21 +127,21 @@ namespace DiscImageChef.Devices } case Interop.PlatformID.FreeBSD: { - FreeBSD.ccb_flags flags = 0; + FreeBSD.CcbFlags flags = 0; switch(direction) { case ScsiDirection.In: - flags = FreeBSD.ccb_flags.CAM_DIR_IN; + flags = FreeBSD.CcbFlags.CamDirIn; break; case ScsiDirection.Out: - flags = FreeBSD.ccb_flags.CAM_DIR_OUT; + flags = FreeBSD.CcbFlags.CamDirOut; break; case ScsiDirection.Bidirectional: - flags = FreeBSD.ccb_flags.CAM_DIR_BOTH; + flags = FreeBSD.CcbFlags.CamDirBoth; break; case ScsiDirection.None: - flags = FreeBSD.ccb_flags.CAM_DIR_NONE; + flags = FreeBSD.CcbFlags.CamDirNone; break; } @@ -151,7 +151,7 @@ namespace DiscImageChef.Devices : FreeBSD.Command.SendScsiCommand((IntPtr)fd, cdb, ref buffer, out senseBuffer, timeout, flags, out duration, out sense); } - default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptID)); + default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptId)); } } @@ -159,18 +159,18 @@ namespace DiscImageChef.Devices AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - Interop.PlatformID ptID = DetectOS.GetRealPlatformID(); + Interop.PlatformID ptId = DetectOS.GetRealPlatformID(); - return SendAtaCommand(ptID, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, + return SendAtaCommand(ptId, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, timeout, transferBlocks, out duration, out sense); } - internal static int SendAtaCommand(Interop.PlatformID ptID, object fd, AtaRegistersCHS registers, + internal static int SendAtaCommand(Interop.PlatformID ptId, object fd, AtaRegistersCHS registers, out AtaErrorRegistersCHS errorRegisters, AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - switch(ptID) + switch(ptId) { case Interop.PlatformID.Win32NT: { @@ -200,7 +200,7 @@ namespace DiscImageChef.Devices return FreeBSD.Command.SendAtaCommand((IntPtr)fd, registers, out errorRegisters, protocol, ref buffer, timeout, out duration, out sense); } - default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptID)); + default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptId)); } } @@ -209,18 +209,18 @@ namespace DiscImageChef.Devices AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - Interop.PlatformID ptID = DetectOS.GetRealPlatformID(); + Interop.PlatformID ptId = DetectOS.GetRealPlatformID(); - return SendAtaCommand(ptID, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, + return SendAtaCommand(ptId, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, timeout, transferBlocks, out duration, out sense); } - internal static int SendAtaCommand(Interop.PlatformID ptID, object fd, AtaRegistersLBA28 registers, + internal static int SendAtaCommand(Interop.PlatformID ptId, object fd, AtaRegistersLBA28 registers, out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - switch(ptID) + switch(ptId) { case Interop.PlatformID.Win32NT: { @@ -250,7 +250,7 @@ namespace DiscImageChef.Devices return FreeBSD.Command.SendAtaCommand((IntPtr)fd, registers, out errorRegisters, protocol, ref buffer, timeout, out duration, out sense); } - default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptID)); + default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptId)); } } @@ -259,18 +259,18 @@ namespace DiscImageChef.Devices AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - Interop.PlatformID ptID = DetectOS.GetRealPlatformID(); + Interop.PlatformID ptId = DetectOS.GetRealPlatformID(); - return SendAtaCommand(ptID, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, + return SendAtaCommand(ptId, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, timeout, transferBlocks, out duration, out sense); } - internal static int SendAtaCommand(Interop.PlatformID ptID, object fd, AtaRegistersLBA48 registers, + internal static int SendAtaCommand(Interop.PlatformID ptId, object fd, AtaRegistersLBA48 registers, out AtaErrorRegistersLBA48 errorRegisters, AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - switch(ptID) + switch(ptId) { case Interop.PlatformID.Win32NT: { @@ -289,7 +289,7 @@ namespace DiscImageChef.Devices return FreeBSD.Command.SendAtaCommand((IntPtr)fd, registers, out errorRegisters, protocol, ref buffer, timeout, out duration, out sense); } - default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptID)); + default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptId)); } } @@ -297,18 +297,18 @@ namespace DiscImageChef.Devices uint argument, uint blockSize, uint blocks, ref byte[] buffer, out uint[] response, out double duration, out bool sense, uint timeout = 0) { - Interop.PlatformID ptID = DetectOS.GetRealPlatformID(); + Interop.PlatformID ptId = DetectOS.GetRealPlatformID(); - return SendMmcCommand(ptID, (int)fd, command, write, isApplication, flags, argument, blockSize, blocks, + return SendMmcCommand(ptId, (int)fd, command, write, isApplication, flags, argument, blockSize, blocks, ref buffer, out response, out duration, out sense, timeout); } - internal static int SendMmcCommand(Interop.PlatformID ptID, object fd, MmcCommands command, bool write, + internal static int SendMmcCommand(Interop.PlatformID ptId, object fd, MmcCommands command, bool write, bool isApplication, MmcFlags flags, uint argument, uint blockSize, uint blocks, ref byte[] buffer, out uint[] response, out double duration, out bool sense, uint timeout = 0) { - switch(ptID) + switch(ptId) { case Interop.PlatformID.Win32NT: { @@ -322,7 +322,7 @@ namespace DiscImageChef.Devices blockSize, blocks, ref buffer, out response, out duration, out sense, timeout); } - default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptID)); + default: throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", ptId)); } } } diff --git a/DiscImageChef.Devices/Device/Commands.cs b/DiscImageChef.Devices/Device/Commands.cs index b89c747cd..ba681a3d3 100644 --- a/DiscImageChef.Devices/Device/Commands.cs +++ b/DiscImageChef.Devices/Device/Commands.cs @@ -50,7 +50,7 @@ namespace DiscImageChef.Devices public int SendScsiCommand(byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, uint timeout, ScsiDirection direction, out double duration, out bool sense) { - return Command.SendScsiCommand(platformID, fd, cdb, ref buffer, out senseBuffer, timeout, direction, + return Command.SendScsiCommand(platformId, fd, cdb, ref buffer, out senseBuffer, timeout, direction, out duration, out sense); } @@ -71,7 +71,7 @@ namespace DiscImageChef.Devices AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - return Command.SendAtaCommand(platformID, fd, registers, out errorRegisters, protocol, transferRegister, + return Command.SendAtaCommand(platformId, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, timeout, transferBlocks, out duration, out sense); } @@ -92,7 +92,7 @@ namespace DiscImageChef.Devices AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - return Command.SendAtaCommand(platformID, fd, registers, out errorRegisters, protocol, transferRegister, + return Command.SendAtaCommand(platformId, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, timeout, transferBlocks, out duration, out sense); } @@ -113,7 +113,7 @@ namespace DiscImageChef.Devices AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout, bool transferBlocks, out double duration, out bool sense) { - return Command.SendAtaCommand(platformID, fd, registers, out errorRegisters, protocol, transferRegister, + return Command.SendAtaCommand(platformId, fd, registers, out errorRegisters, protocol, transferRegister, ref buffer, timeout, transferBlocks, out duration, out sense); } @@ -137,7 +137,7 @@ namespace DiscImageChef.Devices uint blockSize, uint blocks, ref byte[] buffer, out uint[] response, out double duration, out bool sense, uint timeout = 0) { - if(command == MmcCommands.SendCID && cachedCid != null) + if(command == MmcCommands.SendCid && cachedCid != null) { System.DateTime start = System.DateTime.Now; buffer = new byte[cachedCid.Length]; @@ -149,7 +149,7 @@ namespace DiscImageChef.Devices return 0; } - if(command == MmcCommands.SendCSD && cachedCid != null) + if(command == MmcCommands.SendCsd && cachedCid != null) { System.DateTime start = System.DateTime.Now; buffer = new byte[cachedCsd.Length]; @@ -161,7 +161,7 @@ namespace DiscImageChef.Devices return 0; } - if(command == (MmcCommands)SecureDigitalCommands.SendSCR && cachedScr != null) + if(command == (MmcCommands)SecureDigitalCommands.SendScr && cachedScr != null) { System.DateTime start = System.DateTime.Now; buffer = new byte[cachedScr.Length]; @@ -186,7 +186,7 @@ namespace DiscImageChef.Devices return 0; } - return Command.SendMmcCommand(platformID, fd, command, write, isApplication, flags, argument, blockSize, + return Command.SendMmcCommand(platformId, fd, command, write, isApplication, flags, argument, blockSize, blocks, ref buffer, out response, out duration, out sense, timeout); } } diff --git a/DiscImageChef.Devices/Device/Constructor.cs b/DiscImageChef.Devices/Device/Constructor.cs index 0e70027da..61e4b1b22 100644 --- a/DiscImageChef.Devices/Device/Constructor.cs +++ b/DiscImageChef.Devices/Device/Constructor.cs @@ -46,12 +46,12 @@ namespace DiscImageChef.Devices /// Device path public Device(string devicePath) { - platformID = Interop.DetectOS.GetRealPlatformID(); + platformId = Interop.DetectOS.GetRealPlatformID(); Timeout = 15; error = false; removable = false; - switch(platformID) + switch(platformId) { case Interop.PlatformID.Win32NT: { @@ -91,17 +91,17 @@ namespace DiscImageChef.Devices lastError = Marshal.GetLastWin32Error(); } - FreeBSD.cam_device camDevice = - (FreeBSD.cam_device)Marshal.PtrToStructure((IntPtr)fd, typeof(FreeBSD.cam_device)); + FreeBSD.CamDevice camDevice = + (FreeBSD.CamDevice)Marshal.PtrToStructure((IntPtr)fd, typeof(FreeBSD.CamDevice)); - if(StringHandlers.CToString(camDevice.sim_name) == "ata") + if(StringHandlers.CToString(camDevice.SimName) == "ata") throw new InvalidOperationException("Parallel ATA devices are not supported on FreeBSD due to upstream bug #224250."); break; } default: - throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", platformID)); + throw new InvalidOperationException(string.Format("Platform {0} not yet supported.", platformId)); } if(error) throw new SystemException(string.Format("Error {0} opening device.", lastError)); @@ -121,7 +121,7 @@ namespace DiscImageChef.Devices string ntDevicePath = null; // Windows is answering SCSI INQUIRY for all device types so it needs to be detected first - if(platformID == Interop.PlatformID.Win32NT) + if(platformId == Interop.PlatformID.Win32NT) { Windows.StoragePropertyQuery query = new Windows.StoragePropertyQuery(); query.PropertyId = Windows.StoragePropertyId.Device; @@ -129,39 +129,39 @@ namespace DiscImageChef.Devices query.AdditionalParameters = new byte[1]; IntPtr descriptorPtr = Marshal.AllocHGlobal(1000); - byte[] descriptor_b = new byte[1000]; + byte[] descriptorB = new byte[1000]; uint returned = 0; int error = 0; bool hasError = !Windows.Extern.DeviceIoControlStorageQuery((SafeFileHandle)fd, Windows.WindowsIoctl - .IOCTL_STORAGE_QUERY_PROPERTY, + .IoctlStorageQueryProperty, ref query, (uint)Marshal.SizeOf(query), descriptorPtr, 1000, ref returned, IntPtr.Zero); if(hasError) error = Marshal.GetLastWin32Error(); - Marshal.Copy(descriptorPtr, descriptor_b, 0, 1000); + Marshal.Copy(descriptorPtr, descriptorB, 0, 1000); if(!hasError && error == 0) { Windows.StorageDeviceDescriptor descriptor = new Windows.StorageDeviceDescriptor(); - descriptor.Version = BitConverter.ToUInt32(descriptor_b, 0); - descriptor.Size = BitConverter.ToUInt32(descriptor_b, 4); - descriptor.DeviceType = descriptor_b[8]; - descriptor.DeviceTypeModifier = descriptor_b[9]; - descriptor.RemovableMedia = descriptor_b[10] > 0; - descriptor.CommandQueueing = descriptor_b[11] > 0; - descriptor.VendorIdOffset = BitConverter.ToUInt32(descriptor_b, 12); - descriptor.ProductIdOffset = BitConverter.ToUInt32(descriptor_b, 16); - descriptor.ProductRevisionOffset = BitConverter.ToUInt32(descriptor_b, 20); - descriptor.SerialNumberOffset = BitConverter.ToUInt32(descriptor_b, 24); - descriptor.BusType = (Windows.StorageBusType)BitConverter.ToUInt32(descriptor_b, 28); - descriptor.RawPropertiesLength = BitConverter.ToUInt32(descriptor_b, 32); + descriptor.Version = BitConverter.ToUInt32(descriptorB, 0); + descriptor.Size = BitConverter.ToUInt32(descriptorB, 4); + descriptor.DeviceType = descriptorB[8]; + descriptor.DeviceTypeModifier = descriptorB[9]; + descriptor.RemovableMedia = descriptorB[10] > 0; + descriptor.CommandQueueing = descriptorB[11] > 0; + descriptor.VendorIdOffset = BitConverter.ToUInt32(descriptorB, 12); + descriptor.ProductIdOffset = BitConverter.ToUInt32(descriptorB, 16); + descriptor.ProductRevisionOffset = BitConverter.ToUInt32(descriptorB, 20); + descriptor.SerialNumberOffset = BitConverter.ToUInt32(descriptorB, 24); + descriptor.BusType = (Windows.StorageBusType)BitConverter.ToUInt32(descriptorB, 28); + descriptor.RawPropertiesLength = BitConverter.ToUInt32(descriptorB, 32); descriptor.RawDeviceProperties = new byte[descriptor.RawPropertiesLength]; - Array.Copy(descriptor_b, 36, descriptor.RawDeviceProperties, 0, descriptor.RawPropertiesLength); + Array.Copy(descriptorB, 36, descriptor.RawDeviceProperties, 0, descriptor.RawPropertiesLength); switch(descriptor.BusType) { @@ -207,9 +207,9 @@ namespace DiscImageChef.Devices if(!atapiSense) { type = DeviceType.ATAPI; - Identify.IdentifyDevice? ATAID = Identify.Decode(ataBuf); + Identify.IdentifyDevice? ataid = Identify.Decode(ataBuf); - if(ATAID.HasValue) scsiSense = ScsiInquiry(out inqBuf, out senseBuf); + if(ataid.HasValue) scsiSense = ScsiInquiry(out inqBuf, out senseBuf); } else manufacturer = "ATA"; } @@ -224,9 +224,9 @@ namespace DiscImageChef.Devices byte[] sdBuffer = new byte[16]; bool sense = false; - lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, MmcCommands.SendCSD, false, false, - MmcFlags.ResponseSPI_R2 | MmcFlags.Response_R2 | - MmcFlags.CommandAC, 0, 16, 1, ref sdBuffer, + lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, MmcCommands.SendCsd, false, false, + MmcFlags.ResponseSpiR2 | MmcFlags.ResponseR2 | + MmcFlags.CommandAc, 0, 16, 1, ref sdBuffer, out uint[] response, out double duration, out sense, 0); if(!sense) @@ -238,9 +238,9 @@ namespace DiscImageChef.Devices sdBuffer = new byte[16]; sense = false; - lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, MmcCommands.SendCID, false, false, - MmcFlags.ResponseSPI_R2 | MmcFlags.Response_R2 | - MmcFlags.CommandAC, 0, 16, 1, ref sdBuffer, out response, + lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, MmcCommands.SendCid, false, false, + MmcFlags.ResponseSpiR2 | MmcFlags.ResponseR2 | + MmcFlags.CommandAc, 0, 16, 1, ref sdBuffer, out response, out duration, out sense, 0); if(!sense) @@ -253,9 +253,9 @@ namespace DiscImageChef.Devices sense = false; lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, - (MmcCommands)SecureDigitalCommands.SendSCR, false, true, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | - MmcFlags.CommandADTC, 0, 8, 1, ref sdBuffer, + (MmcCommands)SecureDigitalCommands.SendScr, false, true, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | + MmcFlags.CommandAdtc, 0, 8, 1, ref sdBuffer, out response, out duration, out sense, 0); if(!sense) @@ -272,8 +272,8 @@ namespace DiscImageChef.Devices lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, (MmcCommands)SecureDigitalCommands .SendOperatingCondition, false, true, - MmcFlags.ResponseSPI_R3 | MmcFlags.Response_R3 | - MmcFlags.CommandBCR, 0, 4, 1, ref sdBuffer, + MmcFlags.ResponseSpiR3 | MmcFlags.ResponseR3 | + MmcFlags.CommandBcr, 0, 4, 1, ref sdBuffer, out response, out duration, out sense, 0); if(!sense) @@ -289,8 +289,8 @@ namespace DiscImageChef.Devices lastError = Windows.Command.SendMmcCommand((SafeFileHandle)fd, MmcCommands.SendOpCond, false, true, - MmcFlags.ResponseSPI_R3 | MmcFlags.Response_R3 | - MmcFlags.CommandBCR, 0, 4, 1, ref sdBuffer, + MmcFlags.ResponseSpiR3 | MmcFlags.ResponseR3 | + MmcFlags.CommandBcr, 0, 4, 1, ref sdBuffer, out response, out duration, out sense, 0); if(!sense) @@ -301,7 +301,7 @@ namespace DiscImageChef.Devices } } } - else if(platformID == Interop.PlatformID.Linux) + else if(platformId == Interop.PlatformID.Linux) { if(devicePath.StartsWith("/dev/sd", StringComparison.Ordinal) || devicePath.StartsWith("/dev/sr", StringComparison.Ordinal) || @@ -313,22 +313,22 @@ namespace DiscImageChef.Devices string devPath = devicePath.Substring(5); if(System.IO.File.Exists("/sys/block/" + devPath + "/device/csd")) { - int len = ConvertFromHexASCII("/sys/block/" + devPath + "/device/csd", out cachedCsd); + int len = ConvertFromHexAscii("/sys/block/" + devPath + "/device/csd", out cachedCsd); if(len == 0) cachedCsd = null; } if(System.IO.File.Exists("/sys/block/" + devPath + "/device/cid")) { - int len = ConvertFromHexASCII("/sys/block/" + devPath + "/device/cid", out cachedCid); + int len = ConvertFromHexAscii("/sys/block/" + devPath + "/device/cid", out cachedCid); if(len == 0) cachedCid = null; } if(System.IO.File.Exists("/sys/block/" + devPath + "/device/scr")) { - int len = ConvertFromHexASCII("/sys/block/" + devPath + "/device/scr", out cachedScr); + int len = ConvertFromHexAscii("/sys/block/" + devPath + "/device/scr", out cachedScr); if(len == 0) cachedScr = null; } if(System.IO.File.Exists("/sys/block/" + devPath + "/device/ocr")) { - int len = ConvertFromHexASCII("/sys/block/" + devPath + "/device/ocr", out cachedOcr); + int len = ConvertFromHexAscii("/sys/block/" + devPath + "/device/ocr", out cachedOcr); if(len == 0) cachedOcr = null; } } @@ -365,7 +365,7 @@ namespace DiscImageChef.Devices #endregion SecureDigital / MultiMediaCard #region USB - if(platformID == Interop.PlatformID.Linux) + if(platformId == Interop.PlatformID.Linux) { if(devicePath.StartsWith("/dev/sd", StringComparison.Ordinal) || devicePath.StartsWith("/dev/sr", StringComparison.Ordinal) || @@ -439,15 +439,15 @@ namespace DiscImageChef.Devices } } } - else if(platformID == Interop.PlatformID.Win32NT) + else if(platformId == Interop.PlatformID.Win32NT) { - Windows.Usb.USBDevice usbDevice = null; + Windows.Usb.UsbDevice usbDevice = null; // I have to search for USB disks, floppies and CD-ROMs as separate device types foreach(string devGuid in new[] { - Windows.Usb.GUID_DEVINTERFACE_FLOPPY, Windows.Usb.GUID_DEVINTERFACE_CDROM, - Windows.Usb.GUID_DEVINTERFACE_DISK + Windows.Usb.GuidDevinterfaceFloppy, Windows.Usb.GuidDevinterfaceCdrom, + Windows.Usb.GuidDevinterfaceDisk }) { usbDevice = Windows.Usb.FindDrivePath(devicePath, devGuid); @@ -470,7 +470,7 @@ namespace DiscImageChef.Devices #endregion USB #region FireWire - if(platformID == Interop.PlatformID.Linux) + if(platformId == Interop.PlatformID.Linux) { if(devicePath.StartsWith("/dev/sd", StringComparison.Ordinal) || devicePath.StartsWith("/dev/sr", StringComparison.Ordinal) || @@ -539,7 +539,7 @@ namespace DiscImageChef.Devices #endregion FireWire #region PCMCIA - if(platformID == Interop.PlatformID.Linux) + if(platformId == Interop.PlatformID.Linux) { if(devicePath.StartsWith("/dev/sd", StringComparison.Ordinal) || devicePath.StartsWith("/dev/sr", StringComparison.Ordinal) || @@ -596,23 +596,23 @@ namespace DiscImageChef.Devices if(!scsiSense) { - Decoders.SCSI.Inquiry.SCSIInquiry? Inquiry = Decoders.SCSI.Inquiry.Decode(inqBuf); + Decoders.SCSI.Inquiry.SCSIInquiry? inquiry = Decoders.SCSI.Inquiry.Decode(inqBuf); type = DeviceType.SCSI; bool serialSense = ScsiInquiry(out inqBuf, out senseBuf, 0x80); if(!serialSense) serial = Decoders.SCSI.EVPD.DecodePage80(inqBuf); - if(Inquiry.HasValue) + if(inquiry.HasValue) { - string tmp = StringHandlers.CToString(Inquiry.Value.ProductRevisionLevel); + string tmp = StringHandlers.CToString(inquiry.Value.ProductRevisionLevel); if(tmp != null) revision = tmp.Trim(); - tmp = StringHandlers.CToString(Inquiry.Value.ProductIdentification); + tmp = StringHandlers.CToString(inquiry.Value.ProductIdentification); if(tmp != null) model = tmp.Trim(); - tmp = StringHandlers.CToString(Inquiry.Value.VendorIdentification); + tmp = StringHandlers.CToString(inquiry.Value.VendorIdentification); if(tmp != null) manufacturer = tmp.Trim(); - removable = Inquiry.Value.RMB; + removable = inquiry.Value.RMB; - scsiType = (Decoders.SCSI.PeripheralDeviceTypes)Inquiry.Value.PeripheralDeviceType; + scsiType = (Decoders.SCSI.PeripheralDeviceTypes)inquiry.Value.PeripheralDeviceType; } bool atapiSense = AtapiIdentify(out ataBuf, out errorRegisters); @@ -620,9 +620,9 @@ namespace DiscImageChef.Devices if(!atapiSense) { type = DeviceType.ATAPI; - Identify.IdentifyDevice? ATAID = Identify.Decode(ataBuf); + Identify.IdentifyDevice? ataId = Identify.Decode(ataBuf); - if(ATAID.HasValue) serial = ATAID.Value.SerialNumber; + if(ataId.HasValue) serial = ataId.Value.SerialNumber; } else { @@ -637,11 +637,11 @@ namespace DiscImageChef.Devices if(!ataSense) { type = DeviceType.ATA; - Identify.IdentifyDevice? ATAID = Identify.Decode(ataBuf); + Identify.IdentifyDevice? ataid = Identify.Decode(ataBuf); - if(ATAID.HasValue) + if(ataid.HasValue) { - string[] separated = ATAID.Value.Model.Split(' '); + string[] separated = ataid.Value.Model.Split(' '); if(separated.Length == 1) model = separated[0]; else @@ -650,15 +650,15 @@ namespace DiscImageChef.Devices model = separated[separated.Length - 1]; } - revision = ATAID.Value.FirmwareRevision; - serial = ATAID.Value.SerialNumber; + revision = ataid.Value.FirmwareRevision; + serial = ataid.Value.SerialNumber; scsiType = Decoders.SCSI.PeripheralDeviceTypes.DirectAccess; - if((ushort)ATAID.Value.GeneralConfiguration != 0x848A) + if((ushort)ataid.Value.GeneralConfiguration != 0x848A) { removable |= - (ATAID.Value.GeneralConfiguration & Identify.GeneralConfigurationBit.Removable) == + (ataid.Value.GeneralConfiguration & Identify.GeneralConfigurationBit.Removable) == Identify.GeneralConfigurationBit.Removable; } else compactFlash = true; @@ -694,7 +694,7 @@ namespace DiscImageChef.Devices } } - static int ConvertFromHexASCII(string file, out byte[] outBuf) + static int ConvertFromHexAscii(string file, out byte[] outBuf) { System.IO.StreamReader sr = new System.IO.StreamReader(file); string ins = sr.ReadToEnd().Trim(); diff --git a/DiscImageChef.Devices/Device/Destructor.cs b/DiscImageChef.Devices/Device/Destructor.cs index 6f0224f53..0eafd1477 100644 --- a/DiscImageChef.Devices/Device/Destructor.cs +++ b/DiscImageChef.Devices/Device/Destructor.cs @@ -45,7 +45,7 @@ namespace DiscImageChef.Devices { if(fd != null) { - switch(platformID) + switch(platformId) { case Interop.PlatformID.Win32NT: Windows.Extern.CloseHandle((SafeFileHandle)fd); diff --git a/DiscImageChef.Devices/Device/List.cs b/DiscImageChef.Devices/Device/List.cs index 9f381c608..6c093bd1b 100644 --- a/DiscImageChef.Devices/Device/List.cs +++ b/DiscImageChef.Devices/Device/List.cs @@ -36,12 +36,12 @@ namespace DiscImageChef.Devices { public struct DeviceInfo { - public string path; - public string vendor; - public string model; - public string serial; - public string bus; - public bool supported; + public string Path; + public string Vendor; + public string Model; + public string Serial; + public string Bus; + public bool Supported; } public partial class Device diff --git a/DiscImageChef.Devices/Device/MmcCommands/MMC.cs b/DiscImageChef.Devices/Device/MmcCommands/MMC.cs index a7b8b955f..f73ef6e9e 100644 --- a/DiscImageChef.Devices/Device/MmcCommands/MMC.cs +++ b/DiscImageChef.Devices/Device/MmcCommands/MMC.cs @@ -36,13 +36,13 @@ namespace DiscImageChef.Devices { public partial class Device { - public bool ReadCSD(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadCsd(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[16]; bool sense = false; - lastError = SendMmcCommand(MmcCommands.SendCSD, false, false, - MmcFlags.ResponseSPI_R2 | MmcFlags.Response_R2 | MmcFlags.CommandAC, 0, 16, 1, + lastError = SendMmcCommand(MmcCommands.SendCsd, false, false, + MmcFlags.ResponseSpiR2 | MmcFlags.ResponseR2 | MmcFlags.CommandAc, 0, 16, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -51,13 +51,13 @@ namespace DiscImageChef.Devices return sense; } - public bool ReadCID(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadCid(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[16]; bool sense = false; - lastError = SendMmcCommand(MmcCommands.SendCID, false, false, - MmcFlags.ResponseSPI_R2 | MmcFlags.Response_R2 | MmcFlags.CommandAC, 0, 16, 1, + lastError = SendMmcCommand(MmcCommands.SendCid, false, false, + MmcFlags.ResponseSpiR2 | MmcFlags.ResponseR2 | MmcFlags.CommandAc, 0, 16, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -66,13 +66,13 @@ namespace DiscImageChef.Devices return sense; } - public bool ReadOCR(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadOcr(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[4]; bool sense = false; lastError = SendMmcCommand(MmcCommands.SendOpCond, false, true, - MmcFlags.ResponseSPI_R3 | MmcFlags.Response_R3 | MmcFlags.CommandBCR, 0, 4, 1, + MmcFlags.ResponseSpiR3 | MmcFlags.ResponseR3 | MmcFlags.CommandBcr, 0, 4, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -81,13 +81,13 @@ namespace DiscImageChef.Devices return sense; } - public bool ReadExtendedCSD(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadExtendedCsd(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[512]; bool sense = false; - lastError = SendMmcCommand(MmcCommands.SendExtCSD, false, false, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | MmcFlags.CommandADTC, 0, 512, 1, + lastError = SendMmcCommand(MmcCommands.SendExtCsd, false, false, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | MmcFlags.CommandAdtc, 0, 512, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -102,7 +102,7 @@ namespace DiscImageChef.Devices bool sense = false; lastError = SendMmcCommand(MmcCommands.SetBlocklen, false, false, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | MmcFlags.CommandAC, length, 0, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | MmcFlags.CommandAc, length, 0, 0, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -125,7 +125,7 @@ namespace DiscImageChef.Devices else command = MmcCommands.ReadSingleBlock; lastError = SendMmcCommand(command, false, false, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | MmcFlags.CommandADTC, address, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | MmcFlags.CommandAdtc, address, blockSize, transferLength, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -134,7 +134,7 @@ namespace DiscImageChef.Devices { byte[] foo = new byte[0]; SendMmcCommand(MmcCommands.StopTransmission, false, false, - MmcFlags.Response_R1b | MmcFlags.ResponseSPI_R1b | MmcFlags.CommandAC, 0, 0, 0, ref foo, + MmcFlags.ResponseR1B | MmcFlags.ResponseSpiR1B | MmcFlags.CommandAc, 0, 0, 0, ref foo, out uint[] responseStop, out double stopDuration, out bool stopSense, timeout); duration += stopDuration; DicConsole.DebugWriteLine("MMC Device", "READ_MULTIPLE_BLOCK took {0} ms.", duration); @@ -150,7 +150,7 @@ namespace DiscImageChef.Devices bool sense = false; lastError = SendMmcCommand(MmcCommands.SendStatus, false, true, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | MmcFlags.CommandAC, 0, 4, 1, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | MmcFlags.CommandAc, 0, 4, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; diff --git a/DiscImageChef.Devices/Device/MmcCommands/SecureDigital.cs b/DiscImageChef.Devices/Device/MmcCommands/SecureDigital.cs index 11b396dbd..37752212f 100644 --- a/DiscImageChef.Devices/Device/MmcCommands/SecureDigital.cs +++ b/DiscImageChef.Devices/Device/MmcCommands/SecureDigital.cs @@ -36,13 +36,13 @@ namespace DiscImageChef.Devices { public partial class Device { - public bool ReadSDStatus(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadSdStatus(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[64]; bool sense = false; lastError = SendMmcCommand((MmcCommands)SecureDigitalCommands.SendStatus, false, true, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | MmcFlags.CommandADTC, 0, 64, 1, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | MmcFlags.CommandAdtc, 0, 64, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -51,13 +51,13 @@ namespace DiscImageChef.Devices return sense; } - public bool ReadSDOCR(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadSdocr(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[4]; bool sense = false; lastError = SendMmcCommand((MmcCommands)SecureDigitalCommands.SendOperatingCondition, false, true, - MmcFlags.ResponseSPI_R3 | MmcFlags.Response_R3 | MmcFlags.CommandBCR, 0, 4, 1, + MmcFlags.ResponseSpiR3 | MmcFlags.ResponseR3 | MmcFlags.CommandBcr, 0, 4, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; @@ -66,13 +66,13 @@ namespace DiscImageChef.Devices return sense; } - public bool ReadSCR(out byte[] buffer, out uint[] response, uint timeout, out double duration) + public bool ReadScr(out byte[] buffer, out uint[] response, uint timeout, out double duration) { buffer = new byte[8]; bool sense = false; - lastError = SendMmcCommand((MmcCommands)SecureDigitalCommands.SendSCR, false, true, - MmcFlags.ResponseSPI_R1 | MmcFlags.Response_R1 | MmcFlags.CommandADTC, 0, 8, 1, + lastError = SendMmcCommand((MmcCommands)SecureDigitalCommands.SendScr, false, true, + MmcFlags.ResponseSpiR1 | MmcFlags.ResponseR1 | MmcFlags.CommandAdtc, 0, 8, 1, ref buffer, out response, out duration, out sense, timeout); error = lastError != 0; diff --git a/DiscImageChef.Devices/Device/ScsiCommands/Adaptec.cs b/DiscImageChef.Devices/Device/ScsiCommands/Adaptec.cs index 360e84de5..10278f881 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/Adaptec.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/Adaptec.cs @@ -69,7 +69,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Adaptec_Translate; + cdb[0] = (byte)ScsiCommands.AdaptecTranslate; cdb[1] = (byte)((lba & 0x1F0000) >> 16); cdb[2] = (byte)((lba & 0xFF00) >> 8); cdb[3] = (byte)(lba & 0xFF); @@ -115,7 +115,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Adaptec_SetErrorThreshold; + cdb[0] = (byte)ScsiCommands.AdaptecSetErrorThreshold; if(drive1) cdb[1] += 0x20; cdb[4] = 1; @@ -157,7 +157,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Adaptec_Translate; + cdb[0] = (byte)ScsiCommands.AdaptecTranslate; if(drive1) cdb[1] += 0x20; cdb[4] = (byte)buffer.Length; @@ -187,7 +187,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Adaptec_WriteBuffer; + cdb[0] = (byte)ScsiCommands.AdaptecWriteBuffer; lastError = SendScsiCommand(cdb, ref oneKBuffer, out senseBuffer, timeout, ScsiDirection.Out, out duration, out sense); @@ -212,7 +212,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Adaptec_ReadBuffer; + cdb[0] = (byte)ScsiCommands.AdaptecReadBuffer; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out sense); diff --git a/DiscImageChef.Devices/Device/ScsiCommands/ArchiveCorp.cs b/DiscImageChef.Devices/Device/ScsiCommands/ArchiveCorp.cs index 626b0b5f5..09e08cd69 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/ArchiveCorp.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/ArchiveCorp.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Archive_RequestBlockAddress; + cdb[0] = (byte)ScsiCommands.ArchiveRequestBlockAddress; cdb[1] = (byte)((lba & 0x1F0000) >> 16); cdb[2] = (byte)((lba & 0xFF00) >> 8); cdb[3] = (byte)(lba & 0xFF); @@ -94,7 +94,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Archive_SeekBlock; + cdb[0] = (byte)ScsiCommands.ArchiveSeekBlock; cdb[1] = (byte)((lba & 0x1F0000) >> 16); cdb[2] = (byte)((lba & 0xFF00) >> 8); cdb[3] = (byte)(lba & 0xFF); diff --git a/DiscImageChef.Devices/Device/ScsiCommands/Certance.cs b/DiscImageChef.Devices/Device/ScsiCommands/Certance.cs index 6db6e2581..1e059224a 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/Certance.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/Certance.cs @@ -72,7 +72,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Certance_ParkUnpark; + cdb[0] = (byte)ScsiCommands.CertanceParkUnpark; if(park) cdb[4] = 1; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.None, out duration, diff --git a/DiscImageChef.Devices/Device/ScsiCommands/Fujitsu.cs b/DiscImageChef.Devices/Device/ScsiCommands/Fujitsu.cs index 0e19f1196..4ab0203f4 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/Fujitsu.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/Fujitsu.cs @@ -96,7 +96,7 @@ namespace DiscImageChef.Devices Array.Copy(firstHalfBytes, 0, buffer, 1, 8); Array.Copy(secondHalfBytes, 0, buffer, 9, 8); - cdb[0] = (byte)ScsiCommands.Fujitsu_Display; + cdb[0] = (byte)ScsiCommands.FujitsuDisplay; cdb[6] = (byte)buffer.Length; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.Out, out duration, diff --git a/DiscImageChef.Devices/Device/ScsiCommands/HL-DT-ST.cs b/DiscImageChef.Devices/Device/ScsiCommands/HL-DT-ST.cs index 3edd78afb..071addb11 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/HL-DT-ST.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/HL-DT-ST.cs @@ -54,7 +54,7 @@ namespace DiscImageChef.Devices buffer = new byte[2064 * transferLength]; bool sense; - cdb[0] = (byte)ScsiCommands.HlDtSt_Vendor; + cdb[0] = (byte)ScsiCommands.HlDtStVendor; cdb[1] = 0x48; cdb[2] = 0x49; cdb[3] = 0x54; diff --git a/DiscImageChef.Devices/Device/ScsiCommands/HP.cs b/DiscImageChef.Devices/Device/ScsiCommands/HP.cs index f2512c324..2861d14f9 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/HP.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/HP.cs @@ -48,10 +48,10 @@ namespace DiscImageChef.Devices /// If set to true address contain physical block address. /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool HPReadLong(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, ushort blockBytes, + public bool HpReadLong(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, ushort blockBytes, bool pba, uint timeout, out double duration) { - return HPReadLong(out buffer, out senseBuffer, relAddr, address, 0, blockBytes, pba, false, timeout, + return HpReadLong(out buffer, out senseBuffer, relAddr, address, 0, blockBytes, pba, false, timeout, out duration); } @@ -69,7 +69,7 @@ namespace DiscImageChef.Devices /// If set to true is a count of secors to read. Otherwise it will be ignored /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool HPReadLong(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, + public bool HpReadLong(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, ushort transferLen, ushort blockBytes, bool pba, bool sectorCount, uint timeout, out double duration) { diff --git a/DiscImageChef.Devices/Device/ScsiCommands/Kreon.cs b/DiscImageChef.Devices/Device/ScsiCommands/Kreon.cs index bb02ae1cd..6a961cc1d 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/Kreon.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/Kreon.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Devices byte[] buffer = new byte[0]; bool sense; - cdb[0] = (byte)ScsiCommands.Kreon_Command; + cdb[0] = (byte)ScsiCommands.KreonCommand; cdb[1] = 0x08; cdb[2] = 0x01; cdb[3] = 0x01; @@ -116,7 +116,7 @@ namespace DiscImageChef.Devices byte[] buffer = new byte[0]; bool sense; - cdb[0] = (byte)ScsiCommands.Kreon_Command; + cdb[0] = (byte)ScsiCommands.KreonCommand; cdb[1] = 0x08; cdb[2] = 0x01; cdb[3] = 0x11; @@ -148,7 +148,7 @@ namespace DiscImageChef.Devices bool sense; features = 0; - cdb[0] = (byte)ScsiCommands.Kreon_Command; + cdb[0] = (byte)ScsiCommands.KreonCommand; cdb[1] = 0x08; cdb[2] = 0x01; cdb[3] = 0x10; @@ -178,7 +178,7 @@ namespace DiscImageChef.Devices features |= KreonFeatures.WxripperUnlock360; break; case 0x2001: - features |= KreonFeatures.DecryptSS360; + features |= KreonFeatures.DecryptSs360; break; case 0x2101: features |= KreonFeatures.ChallengeResponse360; @@ -190,7 +190,7 @@ namespace DiscImageChef.Devices features |= KreonFeatures.WxripperUnlock; break; case 0x2002: - features |= KreonFeatures.DecryptSS; + features |= KreonFeatures.DecryptSs; break; case 0x2102: features |= KreonFeatures.ChallengeResponse; @@ -215,7 +215,7 @@ namespace DiscImageChef.Devices /// Timeout. /// Duration. /// The SS sector. - public bool KreonExtractSS(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration, + public bool KreonExtractSs(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration, byte requestNumber = 0x00) { buffer = new byte[2048]; @@ -223,7 +223,7 @@ namespace DiscImageChef.Devices senseBuffer = new byte[32]; bool sense; - cdb[0] = (byte)ScsiCommands.Kreon_SS_Command; + cdb[0] = (byte)ScsiCommands.KreonSsCommand; cdb[1] = 0x00; cdb[2] = 0xFF; cdb[3] = 0x02; diff --git a/DiscImageChef.Devices/Device/ScsiCommands/MMC.cs b/DiscImageChef.Devices/Device/ScsiCommands/MMC.cs index cd2151128..aa2ab6ea5 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/MMC.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/MMC.cs @@ -76,9 +76,9 @@ namespace DiscImageChef.Devices /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. /// Starting Feature number. - /// Return type, . + /// Return type, . public bool GetConfiguration(out byte[] buffer, out byte[] senseBuffer, ushort startingFeatureNumber, - MmcGetConfigurationRt RT, uint timeout, out double duration) + MmcGetConfigurationRt rt, uint timeout, out double duration) { senseBuffer = new byte[32]; byte[] cdb = new byte[10]; @@ -86,7 +86,7 @@ namespace DiscImageChef.Devices bool sense; cdb[0] = (byte)ScsiCommands.GetConfiguration; - cdb[1] = (byte)((byte)RT & 0x03); + cdb[1] = (byte)((byte)rt & 0x03); cdb[2] = (byte)((startingFeatureNumber & 0xFF00) >> 8); cdb[3] = (byte)(startingFeatureNumber & 0xFF); cdb[7] = (byte)((buffer.Length & 0xFF00) >> 8); @@ -127,10 +127,10 @@ namespace DiscImageChef.Devices /// Medium layer for requested disc structure /// Timeout in seconds. /// Which disc structure are we requesting - /// AGID used in medium copy protection + /// AGID used in medium copy protection /// Duration in milliseconds it took for the device to execute the command. public bool ReadDiscStructure(out byte[] buffer, out byte[] senseBuffer, MmcDiscStructureMediaType mediaType, - uint address, byte layerNumber, MmcDiscStructureFormat format, byte AGID, + uint address, byte layerNumber, MmcDiscStructureFormat format, byte agid, uint timeout, out double duration) { senseBuffer = new byte[32]; @@ -148,7 +148,7 @@ namespace DiscImageChef.Devices cdb[7] = (byte)format; cdb[8] = (byte)((buffer.Length & 0xFF00) >> 8); cdb[9] = (byte)(buffer.Length & 0xFF); - cdb[10] = (byte)((AGID & 0x03) << 6); + cdb[10] = (byte)((agid & 0x03) << 6); lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, out sense); @@ -193,14 +193,14 @@ namespace DiscImageChef.Devices /// true if the command failed and contains the sense buffer. /// Buffer where the SCSI READ TOC/PMA/ATIP response will be stored /// Sense buffer. - /// If true, request data in MM:SS:FF units, otherwise, in blocks + /// If true, request data in MM:SS:FF units, otherwise, in blocks /// Start TOC from this track /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool ReadToc(out byte[] buffer, out byte[] senseBuffer, bool MSF, byte track, uint timeout, + public bool ReadToc(out byte[] buffer, out byte[] senseBuffer, bool msf, byte track, uint timeout, out double duration) { - return ReadTocPmaAtip(out buffer, out senseBuffer, MSF, 0, track, timeout, out duration); + return ReadTocPmaAtip(out buffer, out senseBuffer, msf, 0, track, timeout, out duration); } /// @@ -222,13 +222,13 @@ namespace DiscImageChef.Devices /// true if the command failed and contains the sense buffer. /// Buffer where the SCSI READ TOC/PMA/ATIP response will be stored /// Sense buffer. - /// If true, request data in MM:SS:FF units, otherwise, in blocks + /// If true, request data in MM:SS:FF units, otherwise, in blocks /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool ReadSessionInfo(out byte[] buffer, out byte[] senseBuffer, bool MSF, uint timeout, + public bool ReadSessionInfo(out byte[] buffer, out byte[] senseBuffer, bool msf, uint timeout, out double duration) { - return ReadTocPmaAtip(out buffer, out senseBuffer, MSF, 1, 0, timeout, out duration); + return ReadTocPmaAtip(out buffer, out senseBuffer, msf, 1, 0, timeout, out duration); } /// @@ -291,12 +291,12 @@ namespace DiscImageChef.Devices /// true if the command failed and contains the sense buffer. /// Buffer where the SCSI READ TOC/PMA/ATIP response will be stored /// Sense buffer. - /// If true, request data in MM:SS:FF units, otherwise, in blocks + /// If true, request data in MM:SS:FF units, otherwise, in blocks /// What structure is requested /// Track/Session number /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool ReadTocPmaAtip(out byte[] buffer, out byte[] senseBuffer, bool MSF, byte format, + public bool ReadTocPmaAtip(out byte[] buffer, out byte[] senseBuffer, bool msf, byte format, byte trackSessionNumber, uint timeout, out double duration) { senseBuffer = new byte[32]; @@ -308,7 +308,7 @@ namespace DiscImageChef.Devices else tmpBuffer = new byte[1024]; cdb[0] = (byte)ScsiCommands.ReadTocPmaAtip; - if(MSF) cdb[1] = 0x02; + if(msf) cdb[1] = 0x02; cdb[2] = (byte)(format & 0x0F); cdb[6] = trackSessionNumber; cdb[7] = (byte)((tmpBuffer.Length & 0xFF00) >> 8); @@ -404,17 +404,17 @@ namespace DiscImageChef.Devices /// How many blocks to read. /// Block size. /// Expected sector type. - /// If set to true CD-DA should be modified by mute and interpolation + /// If set to true CD-DA should be modified by mute and interpolation /// If set to true address is relative to current position. /// If set to true we request the sync bytes for data sectors. /// Header codes. /// If set to true we request the user data. /// If set to true we request the EDC/ECC fields for data sectors. - /// C2 error options. + /// C2 error options. /// Subchannel selection. public bool ReadCd(out byte[] buffer, out byte[] senseBuffer, uint lba, uint blockSize, uint transferLength, - MmcSectorTypes expectedSectorType, bool DAP, bool relAddr, bool sync, - MmcHeaderCodes headerCodes, bool userData, bool edcEcc, MmcErrorField C2Error, + MmcSectorTypes expectedSectorType, bool dap, bool relAddr, bool sync, + MmcHeaderCodes headerCodes, bool userData, bool edcEcc, MmcErrorField c2Error, MmcSubchannel subchannel, uint timeout, out double duration) { senseBuffer = new byte[32]; @@ -423,7 +423,7 @@ namespace DiscImageChef.Devices cdb[0] = (byte)ScsiCommands.ReadCd; cdb[1] = (byte)((byte)expectedSectorType << 2); - if(DAP) cdb[1] += 0x02; + if(dap) cdb[1] += 0x02; if(relAddr) cdb[1] += 0x01; cdb[2] = (byte)((lba & 0xFF000000) >> 24); cdb[3] = (byte)((lba & 0xFF0000) >> 16); @@ -432,7 +432,7 @@ namespace DiscImageChef.Devices cdb[6] = (byte)((transferLength & 0xFF0000) >> 16); cdb[7] = (byte)((transferLength & 0xFF00) >> 8); cdb[8] = (byte)(transferLength & 0xFF); - cdb[9] = (byte)((byte)C2Error << 1); + cdb[9] = (byte)((byte)c2Error << 1); cdb[9] += (byte)((byte)headerCodes << 5); if(sync) cdb[9] += 0x80; if(userData) cdb[9] += 0x10; @@ -462,16 +462,16 @@ namespace DiscImageChef.Devices /// End MM:SS:FF of read encoded as 0x00MMSSFF. /// Block size. /// Expected sector type. - /// If set to true CD-DA should be modified by mute and interpolation + /// If set to true CD-DA should be modified by mute and interpolation /// If set to true we request the sync bytes for data sectors. /// Header codes. /// If set to true we request the user data. /// If set to true we request the EDC/ECC fields for data sectors. - /// C2 error options. + /// C2 error options. /// Subchannel selection. public bool ReadCdMsf(out byte[] buffer, out byte[] senseBuffer, uint startMsf, uint endMsf, uint blockSize, - MmcSectorTypes expectedSectorType, bool DAP, bool sync, MmcHeaderCodes headerCodes, - bool userData, bool edcEcc, MmcErrorField C2Error, MmcSubchannel subchannel, uint timeout, + MmcSectorTypes expectedSectorType, bool dap, bool sync, MmcHeaderCodes headerCodes, + bool userData, bool edcEcc, MmcErrorField c2Error, MmcSubchannel subchannel, uint timeout, out double duration) { senseBuffer = new byte[32]; @@ -480,14 +480,14 @@ namespace DiscImageChef.Devices cdb[0] = (byte)ScsiCommands.ReadCdMsf; cdb[1] = (byte)((byte)expectedSectorType << 2); - if(DAP) cdb[1] += 0x02; + if(dap) cdb[1] += 0x02; cdb[3] = (byte)((startMsf & 0xFF0000) >> 16); cdb[4] = (byte)((startMsf & 0xFF00) >> 8); cdb[5] = (byte)(startMsf & 0xFF); cdb[6] = (byte)((endMsf & 0xFF0000) >> 16); cdb[7] = (byte)((endMsf & 0xFF00) >> 8); cdb[8] = (byte)(endMsf & 0xFF); - cdb[9] = (byte)((byte)C2Error << 1); + cdb[9] = (byte)((byte)c2Error << 1); cdb[9] += (byte)((byte)headerCodes << 5); if(sync) cdb[9] += 0x80; if(userData) cdb[9] += 0x10; diff --git a/DiscImageChef.Devices/Device/ScsiCommands/NEC.cs b/DiscImageChef.Devices/Device/ScsiCommands/NEC.cs index 8bfe3913f..2d650bd55 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/NEC.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/NEC.cs @@ -53,7 +53,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[10]; bool sense; - cdb[0] = (byte)ScsiCommands.NEC_ReadCdDa; + cdb[0] = (byte)ScsiCommands.NecReadCdDa; cdb[2] = (byte)((lba & 0xFF000000) >> 24); cdb[3] = (byte)((lba & 0xFF0000) >> 16); cdb[4] = (byte)((lba & 0xFF00) >> 8); diff --git a/DiscImageChef.Devices/Device/ScsiCommands/Plasmon.cs b/DiscImageChef.Devices/Device/ScsiCommands/Plasmon.cs index 753bf7276..68791e237 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/Plasmon.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/Plasmon.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Devices public bool PlasmonReadLong(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, ushort blockBytes, bool pba, uint timeout, out double duration) { - return HPReadLong(out buffer, out senseBuffer, relAddr, address, 0, blockBytes, pba, false, timeout, + return HpReadLong(out buffer, out senseBuffer, relAddr, address, 0, blockBytes, pba, false, timeout, out duration); } @@ -73,7 +73,7 @@ namespace DiscImageChef.Devices ushort transferLen, ushort blockBytes, bool pba, bool sectorCount, uint timeout, out double duration) { - return HPReadLong(out buffer, out senseBuffer, relAddr, address, transferLen, blockBytes, pba, sectorCount, + return HpReadLong(out buffer, out senseBuffer, relAddr, address, transferLen, blockBytes, pba, sectorCount, timeout, out duration); } @@ -94,7 +94,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[10]; bool sense; - cdb[0] = (byte)ScsiCommands.Plasmon_ReadSectorLocation; + cdb[0] = (byte)ScsiCommands.PlasmonReadSectorLocation; cdb[2] = (byte)((address & 0xFF000000) >> 24); cdb[3] = (byte)((address & 0xFF0000) >> 16); cdb[4] = (byte)((address & 0xFF00) >> 8); diff --git a/DiscImageChef.Devices/Device/ScsiCommands/Plextor.cs b/DiscImageChef.Devices/Device/ScsiCommands/Plextor.cs index fbd4a1e60..63765b26c 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/Plextor.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/Plextor.cs @@ -123,14 +123,14 @@ namespace DiscImageChef.Devices /// Sense buffer. /// Timeout. /// Duration. - public bool PlextorReadEepromCDR(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration) + public bool PlextorReadEepromCdr(out byte[] buffer, out byte[] senseBuffer, uint timeout, out double duration) { buffer = new byte[256]; senseBuffer = new byte[32]; byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_ReadEeprom; + cdb[0] = (byte)ScsiCommands.PlextorReadEeprom; cdb[8] = 1; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, @@ -157,7 +157,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_ReadEeprom; + cdb[0] = (byte)ScsiCommands.PlextorReadEeprom; cdb[8] = 2; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, @@ -187,7 +187,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_ReadEeprom; + cdb[0] = (byte)ScsiCommands.PlextorReadEeprom; cdb[1] = 1; cdb[7] = block; cdb[8] = (byte)((blockSize & 0xFF00) >> 8); @@ -224,7 +224,7 @@ namespace DiscImageChef.Devices max = 0; last = 0; - cdb[0] = (byte)ScsiCommands.Plextor_PoweRec; + cdb[0] = (byte)ScsiCommands.PlextorPoweRec; cdb[9] = (byte)buf.Length; lastError = SendScsiCommand(cdb, ref buf, out senseBuffer, timeout, ScsiDirection.In, out duration, @@ -264,7 +264,7 @@ namespace DiscImageChef.Devices enabled = false; speed = 0; - cdb[0] = (byte)ScsiCommands.Plextor_Extend2; + cdb[0] = (byte)ScsiCommands.PlextorExtend2; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[9] = (byte)buf.Length; @@ -299,7 +299,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.Silent; cdb[3] = 4; @@ -329,7 +329,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.GigaRec; cdb[10] = (byte)buffer.Length; @@ -359,7 +359,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.VariRec; cdb[10] = (byte)buffer.Length; @@ -391,7 +391,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[2] = (byte)PlextorSubCommands.SecuRec; cdb[10] = (byte)buffer.Length; @@ -419,7 +419,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.SpeedRead; cdb[10] = (byte)buffer.Length; @@ -448,7 +448,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.SessionHide; cdb[9] = (byte)buffer.Length; @@ -478,12 +478,12 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.BitSet; cdb[9] = (byte)buffer.Length; - if(dualLayer) cdb[3] = (byte)PlextorSubCommands.BitSetRDL; + if(dualLayer) cdb[3] = (byte)PlextorSubCommands.BitSetRdl; else cdb[3] = (byte)PlextorSubCommands.BitSetR; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.In, out duration, @@ -511,7 +511,7 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[12]; bool sense; - cdb[0] = (byte)ScsiCommands.Plextor_Extend; + cdb[0] = (byte)ScsiCommands.PlextorExtend; cdb[1] = (byte)PlextorSubCommands.GetMode; cdb[2] = (byte)PlextorSubCommands.TestWriteDvdPlus; cdb[10] = (byte)buffer.Length; diff --git a/DiscImageChef.Devices/Device/ScsiCommands/SPC.cs b/DiscImageChef.Devices/Device/ScsiCommands/SPC.cs index 8a581b8e1..0db9b946c 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/SPC.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/SPC.cs @@ -233,13 +233,13 @@ namespace DiscImageChef.Devices /// Sense buffer. /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - /// If set to true device MUST not return any block descriptor. + /// If set to true device MUST not return any block descriptor. /// Page control. /// Page code. - public bool ModeSense6(out byte[] buffer, out byte[] senseBuffer, bool DBD, + public bool ModeSense6(out byte[] buffer, out byte[] senseBuffer, bool dbd, ScsiModeSensePageControl pageControl, byte pageCode, uint timeout, out double duration) { - return ModeSense6(out buffer, out senseBuffer, DBD, pageControl, pageCode, 0, timeout, out duration); + return ModeSense6(out buffer, out senseBuffer, dbd, pageControl, pageCode, 0, timeout, out duration); } /// @@ -250,11 +250,11 @@ namespace DiscImageChef.Devices /// Sense buffer. /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - /// If set to true device MUST not return any block descriptor. + /// If set to true device MUST not return any block descriptor. /// Page control. /// Page code. /// Sub-page code. - public bool ModeSense6(out byte[] buffer, out byte[] senseBuffer, bool DBD, + public bool ModeSense6(out byte[] buffer, out byte[] senseBuffer, bool dbd, ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout, out double duration) { @@ -264,7 +264,7 @@ namespace DiscImageChef.Devices bool sense; cdb[0] = (byte)ScsiCommands.ModeSense; - if(DBD) cdb[1] = 0x08; + if(dbd) cdb[1] = 0x08; cdb[2] |= (byte)pageControl; cdb[2] |= (byte)(pageCode & 0x3F); cdb[3] = subPageCode; @@ -299,13 +299,13 @@ namespace DiscImageChef.Devices /// Sense buffer. /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - /// If set to true device MUST not return any block descriptor. + /// If set to true device MUST not return any block descriptor. /// Page control. /// Page code. - public bool ModeSense10(out byte[] buffer, out byte[] senseBuffer, bool DBD, + public bool ModeSense10(out byte[] buffer, out byte[] senseBuffer, bool dbd, ScsiModeSensePageControl pageControl, byte pageCode, uint timeout, out double duration) { - return ModeSense10(out buffer, out senseBuffer, false, DBD, pageControl, pageCode, 0, timeout, + return ModeSense10(out buffer, out senseBuffer, false, dbd, pageControl, pageCode, 0, timeout, out duration); } @@ -317,14 +317,14 @@ namespace DiscImageChef.Devices /// Sense buffer. /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - /// If set to true device MUST not return any block descriptor. + /// If set to true device MUST not return any block descriptor. /// Page control. /// Page code. - /// If set means 64-bit LBAs are accepted by the caller. - public bool ModeSense10(out byte[] buffer, out byte[] senseBuffer, bool LLBAA, bool DBD, + /// If set means 64-bit LBAs are accepted by the caller. + public bool ModeSense10(out byte[] buffer, out byte[] senseBuffer, bool llbaa, bool dbd, ScsiModeSensePageControl pageControl, byte pageCode, uint timeout, out double duration) { - return ModeSense10(out buffer, out senseBuffer, LLBAA, DBD, pageControl, pageCode, 0, timeout, + return ModeSense10(out buffer, out senseBuffer, llbaa, dbd, pageControl, pageCode, 0, timeout, out duration); } @@ -336,12 +336,12 @@ namespace DiscImageChef.Devices /// Sense buffer. /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - /// If set to true device MUST not return any block descriptor. + /// If set to true device MUST not return any block descriptor. /// Page control. /// Page code. /// Sub-page code. - /// If set means 64-bit LBAs are accepted by the caller. - public bool ModeSense10(out byte[] buffer, out byte[] senseBuffer, bool LLBAA, bool DBD, + /// If set means 64-bit LBAs are accepted by the caller. + public bool ModeSense10(out byte[] buffer, out byte[] senseBuffer, bool llbaa, bool dbd, ScsiModeSensePageControl pageControl, byte pageCode, byte subPageCode, uint timeout, out double duration) { @@ -351,8 +351,8 @@ namespace DiscImageChef.Devices bool sense; cdb[0] = (byte)ScsiCommands.ModeSense10; - if(LLBAA) cdb[1] |= 0x10; - if(DBD) cdb[1] |= 0x08; + if(llbaa) cdb[1] |= 0x10; + if(dbd) cdb[1] |= 0x08; cdb[2] |= (byte)pageControl; cdb[2] |= (byte)(pageCode & 0x3F); cdb[3] = subPageCode; @@ -472,12 +472,12 @@ namespace DiscImageChef.Devices /// true if the command failed and contains the sense buffer. /// Buffer where the SCSI READ CAPACITY response will be stored /// Sense buffer. - /// Indicates that is relative to current medium position - /// Address where information is requested from, only valid if is set - /// If set, it is requesting partial media capacity + /// Indicates that is relative to current medium position + /// Address where information is requested from, only valid if is set + /// If set, it is requesting partial media capacity /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool ReadCapacity(out byte[] buffer, out byte[] senseBuffer, bool RelAddr, uint address, bool PMI, + public bool ReadCapacity(out byte[] buffer, out byte[] senseBuffer, bool relAddr, uint address, bool pmi, uint timeout, out double duration) { senseBuffer = new byte[32]; @@ -487,10 +487,10 @@ namespace DiscImageChef.Devices cdb[0] = (byte)ScsiCommands.ReadCapacity; - if(PMI) + if(pmi) { cdb[8] = 0x01; - if(RelAddr) cdb[1] = 0x01; + if(relAddr) cdb[1] = 0x01; cdb[2] = (byte)((address & 0xFF000000) >> 24); cdb[3] = (byte)((address & 0xFF0000) >> 16); @@ -526,11 +526,11 @@ namespace DiscImageChef.Devices /// true if the command failed and contains the sense buffer. /// Buffer where the SCSI READ CAPACITY(16) response will be stored /// Sense buffer. - /// Address where information is requested from, only valid if is set - /// If set, it is requesting partial media capacity + /// Address where information is requested from, only valid if is set + /// If set, it is requesting partial media capacity /// Timeout in seconds. /// Duration in milliseconds it took for the device to execute the command. - public bool ReadCapacity16(out byte[] buffer, out byte[] senseBuffer, ulong address, bool PMI, uint timeout, + public bool ReadCapacity16(out byte[] buffer, out byte[] senseBuffer, ulong address, bool pmi, uint timeout, out double duration) { senseBuffer = new byte[32]; @@ -541,7 +541,7 @@ namespace DiscImageChef.Devices cdb[0] = (byte)ScsiCommands.ServiceActionIn; cdb[1] = (byte)ScsiServiceActions.ReadCapacity16; - if(PMI) + if(pmi) { cdb[14] = 0x01; byte[] temp = BitConverter.GetBytes(address); @@ -738,10 +738,10 @@ namespace DiscImageChef.Devices // Prevent overflows if(buffer.Length > 255) { - if(platformID != Interop.PlatformID.Win32NT && platformID != Interop.PlatformID.Win32S && - platformID != Interop.PlatformID.Win32Windows && platformID != Interop.PlatformID.WinCE && - platformID != Interop.PlatformID.WindowsPhone && - platformID != Interop.PlatformID.Xbox) lastError = 75; + if(platformId != Interop.PlatformID.Win32NT && platformId != Interop.PlatformID.Win32S && + platformId != Interop.PlatformID.Win32Windows && platformId != Interop.PlatformID.WinCE && + platformId != Interop.PlatformID.WindowsPhone && + platformId != Interop.PlatformID.Xbox) lastError = 75; else lastError = 111; error = true; duration = 0; @@ -781,10 +781,10 @@ namespace DiscImageChef.Devices // Prevent overflows if(buffer.Length > 65535) { - if(platformID != Interop.PlatformID.Win32NT && platformID != Interop.PlatformID.Win32S && - platformID != Interop.PlatformID.Win32Windows && platformID != Interop.PlatformID.WinCE && - platformID != Interop.PlatformID.WindowsPhone && - platformID != Interop.PlatformID.Xbox) lastError = 75; + if(platformId != Interop.PlatformID.Win32NT && platformId != Interop.PlatformID.Win32S && + platformId != Interop.PlatformID.Win32Windows && platformId != Interop.PlatformID.WinCE && + platformId != Interop.PlatformID.WindowsPhone && + platformId != Interop.PlatformID.Xbox) lastError = 75; else lastError = 111; error = true; duration = 0; diff --git a/DiscImageChef.Devices/Device/ScsiCommands/SSC.cs b/DiscImageChef.Devices/Device/ScsiCommands/SSC.cs index 34b0f2d7f..cc547a645 100644 --- a/DiscImageChef.Devices/Device/ScsiCommands/SSC.cs +++ b/DiscImageChef.Devices/Device/ScsiCommands/SSC.cs @@ -1004,13 +1004,13 @@ namespace DiscImageChef.Devices byte[] cdb = new byte[6]; byte[] buffer = new byte[0]; bool sense; - byte[] count_b = BitConverter.GetBytes(count); + byte[] countB = BitConverter.GetBytes(count); cdb[0] = (byte)ScsiCommands.Space; cdb[1] = (byte)((byte)code & 0x0F); - cdb[2] = count_b[2]; - cdb[3] = count_b[1]; - cdb[4] = count_b[0]; + cdb[2] = countB[2]; + cdb[3] = countB[1]; + cdb[4] = countB[0]; lastError = SendScsiCommand(cdb, ref buffer, out senseBuffer, timeout, ScsiDirection.None, out duration, out sense); diff --git a/DiscImageChef.Devices/Device/Variables.cs b/DiscImageChef.Devices/Device/Variables.cs index 9a01bc216..d913a1cc3 100644 --- a/DiscImageChef.Devices/Device/Variables.cs +++ b/DiscImageChef.Devices/Device/Variables.cs @@ -34,7 +34,7 @@ namespace DiscImageChef.Devices { public partial class Device { - Interop.PlatformID platformID; + Interop.PlatformID platformId; object fd; bool error; int lastError; @@ -73,9 +73,9 @@ namespace DiscImageChef.Devices /// Gets the Platform ID for this device /// /// The Platform ID - public Interop.PlatformID PlatformID + public Interop.PlatformID PlatformId { - get { return platformID; } + get { return platformId; } } /// @@ -160,7 +160,7 @@ namespace DiscImageChef.Devices /// Gets the device's SCSI peripheral device type /// /// The SCSI peripheral device type. - public Decoders.SCSI.PeripheralDeviceTypes SCSIType + public Decoders.SCSI.PeripheralDeviceTypes ScsiType { get { return scsiType; } } @@ -178,7 +178,7 @@ namespace DiscImageChef.Devices /// Gets a value indicating whether this device is attached via USB. /// /// true if this device is attached via USB; otherwise, false. - public bool IsUSB + public bool IsUsb { get { return usb; } } @@ -187,7 +187,7 @@ namespace DiscImageChef.Devices /// Gets the USB vendor ID. /// /// The USB vendor ID. - public ushort USBVendorID + public ushort UsbVendorId { get { return usbVendor; } } @@ -196,7 +196,7 @@ namespace DiscImageChef.Devices /// Gets the USB product ID. /// /// The USB product ID. - public ushort USBProductID + public ushort UsbProductId { get { return usbProduct; } } @@ -205,7 +205,7 @@ namespace DiscImageChef.Devices /// Gets the USB descriptors. /// /// The USB descriptors. - public byte[] USBDescriptors + public byte[] UsbDescriptors { get { return usbDescriptors; } } @@ -214,7 +214,7 @@ namespace DiscImageChef.Devices /// Gets the USB manufacturer string. /// /// The USB manufacturer string. - public string USBManufacturerString + public string UsbManufacturerString { get { return usbManufacturerString; } } @@ -223,7 +223,7 @@ namespace DiscImageChef.Devices /// Gets the USB product string. /// /// The USB product string. - public string USBProductString + public string UsbProductString { get { return usbProductString; } } @@ -232,7 +232,7 @@ namespace DiscImageChef.Devices /// Gets the USB serial string. /// /// The USB serial string. - public string USBSerialString + public string UsbSerialString { get { return usbSerialString; } } @@ -250,7 +250,7 @@ namespace DiscImageChef.Devices /// Gets the FireWire GUID /// /// The FireWire GUID. - public ulong FireWireGUID + public ulong FireWireGuid { get { return firewireGuid; } } @@ -304,7 +304,7 @@ namespace DiscImageChef.Devices /// Gets a value indicating whether this device is a PCMCIA device. /// /// true if this device is a PCMCIA device; otherwise, false. - public bool IsPCMCIA + public bool IsPcmcia { get { return pcmcia; } } @@ -312,7 +312,7 @@ namespace DiscImageChef.Devices /// /// Contains the PCMCIA CIS if applicable /// - public byte[] CIS + public byte[] Cis { get { return cis; } } diff --git a/DiscImageChef.Devices/Enums.cs b/DiscImageChef.Devices/Enums.cs index 7b267cbf9..2a7fb10ed 100644 --- a/DiscImageChef.Devices/Enums.cs +++ b/DiscImageChef.Devices/Enums.cs @@ -259,7 +259,7 @@ namespace DiscImageChef.Devices /// /// Unknown vendor command /// - Vendor_8x = 0x80, + Vendor_8X = 0x80, /// /// Unknown vendor command /// @@ -267,83 +267,83 @@ namespace DiscImageChef.Devices /// /// Unknown vendor command /// - Vendor_C0 = 0xC0, + VendorC0 = 0xC0, /// /// Unknown vendor command /// - Vendor_C1 = 0xC1, + VendorC1 = 0xC1, /// /// Unknown vendor command /// - Vendor_C2 = 0xC2, + VendorC2 = 0xC2, /// /// Unknown vendor command /// - Vendor_C3 = 0xC3, + VendorC3 = 0xC3, /// /// Unknown vendor command /// - Vendor_F0 = 0xF0, + VendorF0 = 0xF0, /// /// Unknown vendor command /// - Vendor_F1 = 0xF1, + VendorF1 = 0xF1, /// /// Unknown vendor command /// - Vendor_F2 = 0xF2, + VendorF2 = 0xF2, /// /// Unknown vendor command /// - Vendor_F3 = 0xF3, + VendorF3 = 0xF3, /// /// Unknown vendor command /// - Vendor_F4 = 0xF4, + VendorF4 = 0xF4, /// /// Unknown vendor command /// - Vendor_F5 = 0xF5, + VendorF5 = 0xF5, /// /// Unknown vendor command /// - Vendor_F6 = 0xF6, + VendorF6 = 0xF6, /// /// Unknown vendor command /// - Vendor_F7 = 0xF7, + VendorF7 = 0xF7, /// /// Unknown vendor command /// - Vendor_F8 = 0xF8, + VendorF8 = 0xF8, /// /// Unknown vendor command /// - Vendor_F9 = 0xF9, + VendorF9 = 0xF9, /// /// Unknown vendor command /// - Vendor_FA = 0xFA, + VendorFa = 0xFA, /// /// Unknown vendor command /// - Vendor_FB = 0xFB, + VendorFb = 0xFB, /// /// Unknown vendor command /// - Vendor_FC = 0xFC, + VendorFc = 0xFC, /// /// Unknown vendor command /// - Vendor_FD = 0xFD, + VendorFd = 0xFD, /// /// Unknown vendor command /// - Vendor_FE = 0xFE, + VendorFe = 0xFE, /// /// Unknown vendor command /// - Vendor_FF = 0xFF, + VendorFf = 0xFF, #endregion Commands defined on ATA rev. 4c #region Commands defined on ATA-2 rev. 4c @@ -651,9 +651,9 @@ namespace DiscImageChef.Devices #region Commands defined on ATA/ATAPI Command Set 3 (ACS-3) rev. 5 /// - /// Sends + /// Sends /// - NCQQueueManagement = 0x63, + NcqQueueManagement = 0x63, /// /// Sets the device date and time /// @@ -867,13 +867,13 @@ namespace DiscImageChef.Devices /// /// All known ATA NCQ QUEUE MANAGEMENT sub-commands /// - public enum AtaNCQQueueManagementSubcommands : byte + public enum AtaNcqQueueManagementSubcommands : byte { #region Commands defined on ATA/ATAPI Command Set 3 (ACS-3) rev. 5 /// /// Aborts pending NCQ commands /// - AbortNCQQueue = 0x00, + AbortNcqQueue = 0x00, /// /// Controls how NCQ Streaming commands are processed by the device /// @@ -1321,11 +1321,11 @@ namespace DiscImageChef.Devices /// /// SASI rev. 0a /// - WriteECC = 0xE1, + WriteEcc = 0xE1, /// /// SASI rev. 0a /// - ReadID = 0xE2, + ReadId = 0xE2, /// /// SASI rev. 0a /// @@ -1574,7 +1574,7 @@ namespace DiscImageChef.Devices /// 4.- Write the buffer to the blocks /// SBC-3 rev. 16 /// - ORWrite = 0x8B, + OrWrite = 0x8B, /// /// Transfers requested blocks to devices' cache /// SCSI-2 X3T9.2/375R rev. 10l @@ -1737,29 +1737,29 @@ namespace DiscImageChef.Devices /// WriteSame16 = 0x93, /// - /// Requets XOR data generated by an or command + /// Requets XOR data generated by an or command /// SBC-1 rev. 8c /// - XDRead = 0x52, + XdRead = 0x52, /// - /// XORs the data sent with data on the medium and stores it until an is issued + /// XORs the data sent with data on the medium and stores it until an is issued /// SBC-1 rev. 8c /// - XDWrite = 0x50, + XdWrite = 0x50, /// - /// XORs the data sent with data on the medium and stores it until an is issued + /// XORs the data sent with data on the medium and stores it until an is issued /// SBC-1 rev. 8c /// - XDWrite16 = 0x80, + XdWrite16 = 0x80, /// /// Requets the target to XOR the sent data with the data on the medium and return the results /// - XDWriteRead = 0x53, + XdWriteRead = 0x53, /// /// Requests the target to XOR the data transferred with the data on the medium and writes it to the medium /// SBC-1 rev. 8c /// - XPWrite = 0x51, + XpWrite = 0x51, #endregion SCSI Block Commands (SBC) #region SCSI Streaming Commands (SSC) @@ -2361,7 +2361,7 @@ namespace DiscImageChef.Devices /// /// Requests the drive the status from the previous WriteCDP command. /// - ReadCDP = 0xE4, + ReadCdp = 0xE4, /// /// Requests status from the drive /// @@ -2443,200 +2443,200 @@ namespace DiscImageChef.Devices /// Verifies that the device can be accessed /// Sega SPI ver. 1.30 /// - Sega_TestUnit = TestUnitReady, + SegaTestUnit = TestUnitReady, /// /// Gets current CD status /// Sega SPI ver. 1.30 /// - Sega_RequestStatus = 0x10, + SegaRequestStatus = 0x10, /// /// Gets CD block mode info /// Sega SPI ver. 1.30 /// - Sega_RequestMode = 0x11, + SegaRequestMode = 0x11, /// /// Sets CD block mode /// Sega SPI ver. 1.30 /// - Sega_SetMode = 0x12, + SegaSetMode = 0x12, /// /// Requests device error info /// Sega SPI ver. 1.30 /// - Sega_RequestError = 0x13, + SegaRequestError = 0x13, /// /// Gets disc TOC /// Sega SPI ver. 1.30 /// - Sega_GetToc = 0x14, + SegaGetToc = 0x14, /// /// Gets specified session data /// Sega SPI ver. 1.30 /// - Sega_RequestSession = 0x15, + SegaRequestSession = 0x15, /// /// Stops the drive and opens the drive tray, or, on manual trays, stays busy until it is opened /// Sega SPI ver. 1.30 /// - Sega_OpenTray = 0x16, + SegaOpenTray = 0x16, /// /// Starts audio playback /// Sega SPI ver. 1.30 /// - Sega_PlayCd = 0x20, + SegaPlayCd = 0x20, /// /// Moves drive pickup to specified block /// Sega SPI ver. 1.30 /// - Sega_Seek = 0x21, + SegaSeek = 0x21, /// /// Fast-forwards or fast-reverses until Lead-In or Lead-Out arrive, or until another command is issued /// Sega SPI ver. 1.30 /// - Sega_Scan = 0x22, + SegaScan = 0x22, /// /// Reads blocks from the disc /// Sega SPI ver. 1.30 /// - Sega_Read = 0x30, + SegaRead = 0x30, /// /// Reads blocks from the disc seeking to another position at end /// Sega SPI ver. 1.30 /// - Sega_Read2 = 0x31, + SegaRead2 = 0x31, /// /// Reads disc subcode /// Sega SPI ver. 1.30 /// - Sega_GetSubcode = 0x40, + SegaGetSubcode = 0x40, #endregion SEGA Packet Interface (all are 12-byte CDB) /// /// Variable sized Command Description Block /// SPC-4 rev. 16 /// - VariableSizedCDB = 0x7F, + VariableSizedCdb = 0x7F, #region Plextor vendor commands /// /// Sends extended commands (like SpeedRead) to Plextor drives /// - Plextor_Extend = 0xE9, + PlextorExtend = 0xE9, /// /// Command for Plextor PoweRec /// - Plextor_PoweRec = 0xEB, + PlextorPoweRec = 0xEB, /// /// Sends extended commands (like PoweRec) to Plextor drives /// - Plextor_Extend2 = 0xED, + PlextorExtend2 = 0xED, /// /// Resets Plextor drives /// - Plextor_Reset = 0xEE, + PlextorReset = 0xEE, /// /// Reads drive statistics from Plextor drives EEPROM /// - Plextor_ReadEeprom = 0xF1, + PlextorReadEeprom = 0xF1, #endregion Plextor vendor commands #region HL-DT-ST vendor commands /// /// Sends debugging commands to HL-DT-ST DVD drives /// - HlDtSt_Vendor = 0xE7, + HlDtStVendor = 0xE7, #endregion HL-DT-ST vendor commands #region NEC vendor commands /// /// Reads CD-DA data /// - NEC_ReadCdDa = 0xD4, + NecReadCdDa = 0xD4, #endregion NEC vendor commands #region Adaptec vendor commands /// /// Translates a SCSI LBA to a drive's CHS /// - Adaptec_Translate = 0x0F, + AdaptecTranslate = 0x0F, /// /// Configures Adaptec controller error threshold /// - Adaptec_SetErrorThreshold = 0x10, + AdaptecSetErrorThreshold = 0x10, /// /// Reads and resets error and statistical counters /// - Adaptec_ReadCounters = 0x11, + AdaptecReadCounters = 0x11, /// /// Writes to controller's RAM /// - Adaptec_WriteBuffer = 0x13, + AdaptecWriteBuffer = 0x13, /// /// Reads controller's RAM /// - Adaptec_ReadBuffer = 0x14, + AdaptecReadBuffer = 0x14, #endregion Adaptec vendor commands #region Archive Corp. vendor commands /// /// Gets current position's block address /// - Archive_RequestBlockAddress = 0x02, + ArchiveRequestBlockAddress = 0x02, /// /// Seeks to specified block address /// - Archive_SeekBlock = 0x0C, + ArchiveSeekBlock = 0x0C, #endregion Archive Corp. vendor commands #region Certance vendor commands /// /// Parks the load arm in preparation for transport /// - Certance_ParkUnpark = 0x06, + CertanceParkUnpark = 0x06, #endregion Certance vendor commands #region Fujitsu vendor commands /// /// Used to check the controller's data and control path /// - Fujitsu_LoopWriteToRead = 0xC1, + FujitsuLoopWriteToRead = 0xC1, /// /// Used to display a message on the operator panel /// - Fujitsu_Display = 0xCF, + FujitsuDisplay = 0xCF, #endregion Fujitsu vendor commands #region M-Systems vendor commands /// /// Securely erases all flash blocks, including defective, spared and unused /// - MSystems_SecurityErase = 0xFF, + MSystemsSecurityErase = 0xFF, /// /// Securely erases all flash blocks, including defective, spared and unused /// - MSystems_SecurityEraseOld = 0xDF, + MSystemsSecurityEraseOld = 0xDF, #endregion M-Systems vendor commands #region Plasmon vendor commands /// /// Retrieves sector address /// - Plasmon_ReadSectorLocation = 0xE6, + PlasmonReadSectorLocation = 0xE6, /// /// Makes a Compliant WORM block completely unreadable /// - Plasmon_Shred = 0xEE, + PlasmonShred = 0xEE, #endregion Plasmon vendor commands #region Kreon vendor commands /// /// Most Kreon commands start with this /// - Kreon_Command = 0xFF, + KreonCommand = 0xFF, /// /// Kreon extract Security Sectors command start with this /// - Kreon_SS_Command = 0xAD + KreonSsCommand = 0xAD #endregion Kreon vendor commands } #endregion SCSI Commands @@ -2718,7 +2718,7 @@ namespace DiscImageChef.Devices /// /// Unknown Serial ATA /// - FPDma = 12, + FpDma = 12, /// /// Requests the Extended ATA Status Return Descriptor /// @@ -2746,14 +2746,14 @@ namespace DiscImageChef.Devices /// /// The STPSIU contains the data length /// - SPTSIU = 3 + Sptsiu = 3 } #endregion SCSI's ATA Command Pass-Through /// /// ZBC sub-commands, mask 0x1F /// - public enum ZBCSubCommands : byte + public enum ZbcSubCommands : byte { /// /// Returns list with zones of specified types @@ -2842,11 +2842,11 @@ namespace DiscImageChef.Devices /// /// Disc Structures for DVD and HD DVD /// - DVD = 0x00, + Dvd = 0x00, /// /// Disc Structures for BD /// - BD = 0x01 + Bd = 0x01 } public enum MmcDiscStructureFormat : byte @@ -2856,31 +2856,31 @@ namespace DiscImageChef.Devices /// /// AACS Volume Identifier /// - AACSVolId = 0x80, + AacsVolId = 0x80, /// /// AACS Pre-recorded Media Serial Number /// - AACSMediaSerial = 0x81, + AacsMediaSerial = 0x81, /// /// AACS Media Identifier /// - AACSMediaId = 0x82, + AacsMediaId = 0x82, /// /// AACS Lead-in Media Key Block /// - AACSMKB = 0x83, + Aacsmkb = 0x83, /// /// AACS Data Keys /// - AACSDataKeys = 0x84, + AacsDataKeys = 0x84, /// /// AACS LBA extents /// - AACSLBAExtents = 0x85, + AacslbaExtents = 0x85, /// /// CPRM Media Key Block specified by AACS /// - AACSMKBCPRM = 0x86, + Aacsmkbcprm = 0x86, /// /// Recognized format layers /// @@ -2930,27 +2930,27 @@ namespace DiscImageChef.Devices /// /// DDS from DVD-RAM /// - DVDRAM_DDS = 0x08, + DvdramDds = 0x08, /// /// DVD-RAM Medium Status /// - DVDRAM_MediumStatus = 0x09, + DvdramMediumStatus = 0x09, /// /// DVD-RAM Spare Area Information /// - DVDRAM_SpareAreaInformation = 0x0A, + DvdramSpareAreaInformation = 0x0A, /// /// DVD-RAM Recording Type Information /// - DVDRAM_RecordingType = 0x0B, + DvdramRecordingType = 0x0B, /// /// DVD-R/-RW RMD in last Border-out /// - LastBorderOutRMD = 0x0C, + LastBorderOutRmd = 0x0C, /// /// Specified RMD from last recorded Border-out /// - SpecifiedRMD = 0x0D, + SpecifiedRmd = 0x0D, /// /// DVD-R/-RW Lead-in pre-recorded information /// @@ -2958,35 +2958,35 @@ namespace DiscImageChef.Devices /// /// DVD-R/-RW Media Identifier /// - DVDR_MediaIdentifier = 0x0F, + DvdrMediaIdentifier = 0x0F, /// /// DVD-R/-RW Physical Format Information /// - DVDR_PhysicalInformation = 0x10, + DvdrPhysicalInformation = 0x10, /// /// ADIP /// - ADIP = 0x11, + Adip = 0x11, /// /// HD DVD Lead-in Copyright Protection Information /// - HDDVD_CopyrightInformation = 0x12, + HddvdCopyrightInformation = 0x12, /// /// AACS Lead-in Copyright Data Section /// - DVD_AACS = 0x15, + DvdAacs = 0x15, /// /// HD DVD-R Medium Status /// - HDDVDR_MediumStatus = 0x19, + HddvdrMediumStatus = 0x19, /// /// HD DVD-R Last recorded RMD in the latest RMZ /// - HDDVDR_LastRMD = 0x1A, + HddvdrLastRmd = 0x1A, /// /// DVD+/-R DL and DVD-Download DL layer capacity /// - DVDR_LayerCapacity = 0x20, + DvdrLayerCapacity = 0x20, /// /// DVD-R DL Middle Zone start address /// @@ -2998,7 +2998,7 @@ namespace DiscImageChef.Devices /// /// DVD-R DL Start LBA of the manual layer jump /// - ManualLayerJumpStartLBA = 0x23, + ManualLayerJumpStartLba = 0x23, /// /// DVD-R DL Remapping information of the specified Anchor Point /// @@ -3006,7 +3006,7 @@ namespace DiscImageChef.Devices /// /// Disc Control Block /// - DCB = 0x30, + Dcb = 0x30, // BD Disc Structures /// @@ -3016,11 +3016,11 @@ namespace DiscImageChef.Devices /// /// Blu-ray Burst Cutting Area /// - BD_BurstCuttingArea = 0x03, + BdBurstCuttingArea = 0x03, /// /// Blu-ray DDS /// - BD_DDS = 0x08, + BdDds = 0x08, /// /// Blu-ray Cartridge Status /// @@ -3028,15 +3028,15 @@ namespace DiscImageChef.Devices /// /// Blu-ray Spare Area Information /// - BD_SpareAreaInformation = 0x0A, + BdSpareAreaInformation = 0x0A, /// /// Unmodified DFL /// - RawDFL = 0x12, + RawDfl = 0x12, /// /// Physical Access Control /// - PAC = 0x30 + Pac = 0x30 } public enum ScsiServiceActions : byte @@ -3047,7 +3047,7 @@ namespace DiscImageChef.Devices /// Requests parameter data describing provisioning status for the specified LBA /// SBC-3 rev. 25 /// - GetLBAStatus = 0x12, + GetLbaStatus = 0x12, /// /// Gets device capacity /// SBC-2 rev. 4 @@ -3086,7 +3086,7 @@ namespace DiscImageChef.Devices /// /// POW Resources Information /// - POWResources = 0x02 + PowResources = 0x02 } public enum MmcSectorTypes : byte @@ -3098,7 +3098,7 @@ namespace DiscImageChef.Devices /// /// Only CD-DA sectors shall be returned /// - CDDA = 0x01, + Cdda = 0x01, /// /// Only Mode 1 sectors shall be returned /// @@ -3170,7 +3170,7 @@ namespace DiscImageChef.Devices /// /// De-interleaved and error-corrected R to W subchannel data shall be transferred /// - RW = 0x04 + Rw = 0x04 } public enum PioneerSubchannel : byte @@ -3272,7 +3272,7 @@ namespace DiscImageChef.Devices /// /// Book setting for DVD+R DL /// - BitSetRDL = 0x0E, + BitSetRdl = 0x0E, /// /// Plextor SpeedRead /// @@ -3439,7 +3439,7 @@ namespace DiscImageChef.Devices /// /// Asks device to send their CID numbers (BCR, R2) /// - AllSendCID = 2, + AllSendCid = 2, /// /// Assigns a relative address to the device (AC, R1) /// @@ -3447,7 +3447,7 @@ namespace DiscImageChef.Devices /// /// Programs the DSR of the device (BC) /// - SetDSR = 4, + SetDsr = 4, /// /// Toggles the device between sleep and standby (AC, R1b) /// @@ -3463,15 +3463,15 @@ namespace DiscImageChef.Devices /// /// Asks device to send its extended card-specific data (ExtCSD) (ADTC, R1) /// - SendExtCSD = 8, + SendExtCsd = 8, /// /// Asks device to send its card-specific data (CSD) (AC, R2) /// - SendCSD = 9, + SendCsd = 9, /// /// Asks device to send its card identification (CID) (AC, R2) /// - SendCID = 10, + SendCid = 10, /// /// Reads data stream from device, starting at given address, until a follows (ADTC, R1) /// @@ -3496,8 +3496,8 @@ namespace DiscImageChef.Devices /// The host sends the bus testing data pattern to a device (ADTC, R1) /// BusTestWrite = 19, - SPIReadOCR = 58, - SPICRCOnOff = 59, + SpiReadOcr = 58, + SpicrcOnOff = 59, #endregion Class 1 MMC Commands (Basic and read-stream) #region Class 2 MMC Commands (Block-oriented read) @@ -3516,7 +3516,7 @@ namespace DiscImageChef.Devices /// /// 128 blocks of tuning pattern is sent for HS200 optimal sampling point detection (ADTC, R1) /// - SendTuningBlockHS200 = 21, + SendTuningBlockHs200 = 21, #endregion Class 2 MMC Commands (Block-oriented read) #region Class 3 MMC Commands (Stream write) @@ -3542,11 +3542,11 @@ namespace DiscImageChef.Devices /// /// Programs the Card Information register (ADTC, R1) /// - ProgramCID = 26, + ProgramCid = 26, /// /// Programs the programmable bits of the CSD (ADTC, R1) /// - ProgramCSD = 27, + ProgramCsd = 27, /// /// Sets the real time clock according to information in block (ADTC, R1) /// @@ -3609,11 +3609,11 @@ namespace DiscImageChef.Devices /// /// Used to write and read 8 bit data field, used to access application dependent registers not defined in MMC standard (AC, R4) /// - FastIO = 39, + FastIo = 39, /// /// Sets the system into interrupt mode (BCR, R5) /// - GoIRQState = 40, + GoIrqState = 40, #endregion Class 9 MMC Commands (I/O mode) #region Class 10 MMC Commands (Security Protocols) @@ -3724,7 +3724,7 @@ namespace DiscImageChef.Devices /// /// Reads the SD Configuration Register SCR (ADTC, R1) /// - SendSCR = 51, + SendScr = 51, } [Flags] @@ -3736,30 +3736,30 @@ namespace DiscImageChef.Devices ResponseBusy = 1 << 3, ResponseOpcode = 1 << 4, CommandMask = 3 << 5, - CommandAC = 0 << 5, - CommandADTC = 1 << 5, - CommandBC = 2 << 5, - CommandBCR = 3 << 5, - ResponseSPI_S1 = 1 << 7, - ResponseSPI_S2 = 1 << 8, - ResponseSPI_B4 = 1 << 9, - ResponseSPI_Busy = 1 << 10, + CommandAc = 0 << 5, + CommandAdtc = 1 << 5, + CommandBc = 2 << 5, + CommandBcr = 3 << 5, + ResponseSpiS1 = 1 << 7, + ResponseSpiS2 = 1 << 8, + ResponseSpiB4 = 1 << 9, + ResponseSpiBusy = 1 << 10, ResponseNone = 0, - Response_R1 = ResponsePresent | ResponseCrc | ResponseOpcode, - Response_R1b = ResponsePresent | ResponseCrc | ResponseOpcode | ResponseBusy, - Response_R2 = ResponsePresent | Response136 | ResponseCrc, - Response_R3 = ResponsePresent, - Response_R4 = ResponsePresent, - Response_R5 = ResponsePresent | ResponseCrc | ResponseOpcode, - Response_R6 = ResponsePresent | ResponseCrc | ResponseOpcode, - Response_R7 = ResponsePresent | ResponseCrc | ResponseOpcode, - ResponseSPI_R1 = ResponseSPI_S1, - ResponseSPI_R1b = ResponseSPI_S1 | ResponseSPI_Busy, - ResponseSPI_R2 = ResponseSPI_S1 | ResponseSPI_S2, - ResponseSPI_R3 = ResponseSPI_S1 | ResponseSPI_B4, - ResponseSPI_R4 = ResponseSPI_S1 | ResponseSPI_B4, - ResponseSPI_R5 = ResponseSPI_S1 | ResponseSPI_S2, - ResponseSPI_R7 = ResponseSPI_S1 | ResponseSPI_B4 + ResponseR1 = ResponsePresent | ResponseCrc | ResponseOpcode, + ResponseR1B = ResponsePresent | ResponseCrc | ResponseOpcode | ResponseBusy, + ResponseR2 = ResponsePresent | Response136 | ResponseCrc, + ResponseR3 = ResponsePresent, + ResponseR4 = ResponsePresent, + ResponseR5 = ResponsePresent | ResponseCrc | ResponseOpcode, + ResponseR6 = ResponsePresent | ResponseCrc | ResponseOpcode, + ResponseR7 = ResponsePresent | ResponseCrc | ResponseOpcode, + ResponseSpiR1 = ResponseSpiS1, + ResponseSpiR1B = ResponseSpiS1 | ResponseSpiBusy, + ResponseSpiR2 = ResponseSpiS1 | ResponseSpiS2, + ResponseSpiR3 = ResponseSpiS1 | ResponseSpiB4, + ResponseSpiR4 = ResponseSpiS1 | ResponseSpiB4, + ResponseSpiR5 = ResponseSpiS1 | ResponseSpiS2, + ResponseSpiR7 = ResponseSpiS1 | ResponseSpiB4 } [Flags] @@ -3776,7 +3776,7 @@ namespace DiscImageChef.Devices /// /// Drive can read and decrypt the SS from Xbox 360 discs /// - DecryptSS360, + DecryptSs360, /// /// Drive has full challenge response capabilities with Xbox 360 discs /// @@ -3792,7 +3792,7 @@ namespace DiscImageChef.Devices /// /// Drive can read and decrypt the SS from Xbox discs /// - DecryptSS, + DecryptSs, /// /// Drive has full challenge response capabilities with Xbox discs /// diff --git a/DiscImageChef.Devices/FreeBSD/Command.cs b/DiscImageChef.Devices/FreeBSD/Command.cs index 9f6fe3d16..3b55be0cb 100644 --- a/DiscImageChef.Devices/FreeBSD/Command.cs +++ b/DiscImageChef.Devices/FreeBSD/Command.cs @@ -56,7 +56,7 @@ namespace DiscImageChef.Devices.FreeBSD /// Time it took to execute the command in milliseconds /// True if SCSI error returned non-OK status and contains SCSI sense internal static int SendScsiCommand64(IntPtr dev, byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, - uint timeout, ccb_flags direction, out double duration, out bool sense) + uint timeout, CcbFlags direction, out double duration, out bool sense) { senseBuffer = null; duration = 0; @@ -73,8 +73,8 @@ namespace DiscImageChef.Devices.FreeBSD return Marshal.GetLastWin32Error(); } - ccb_scsiio64 csio = (ccb_scsiio64)Marshal.PtrToStructure(ccbPtr, typeof(ccb_scsiio64)); - csio.ccb_h.func_code = xpt_opcode.XPT_SCSI_IO; + CcbScsiio64 csio = (CcbScsiio64)Marshal.PtrToStructure(ccbPtr, typeof(CcbScsiio64)); + csio.ccb_h.func_code = XptOpcode.XptScsiIo; csio.ccb_h.flags = direction; csio.ccb_h.xflags = 0; csio.ccb_h.retry_count = 1; @@ -93,9 +93,9 @@ namespace DiscImageChef.Devices.FreeBSD cdbPtr = Marshal.AllocHGlobal(cdb.Length); byte[] cdbPtrBytes = BitConverter.GetBytes(cdbPtr.ToInt64()); Array.Copy(cdbPtrBytes, 0, csio.cdb_bytes, 0, IntPtr.Size); - csio.ccb_h.flags |= ccb_flags.CAM_CDB_POINTER; + csio.ccb_h.flags |= CcbFlags.CamCdbPointer; } - csio.ccb_h.flags |= ccb_flags.CAM_DEV_QFRZDIS; + csio.ccb_h.flags |= CcbFlags.CamDevQfrzdis; Marshal.Copy(buffer, 0, csio.data_ptr, buffer.Length); Marshal.StructureToPtr(csio, ccbPtr, false); @@ -106,28 +106,28 @@ namespace DiscImageChef.Devices.FreeBSD if(error < 0) error = Marshal.GetLastWin32Error(); - csio = (ccb_scsiio64)Marshal.PtrToStructure(ccbPtr, typeof(ccb_scsiio64)); + csio = (CcbScsiio64)Marshal.PtrToStructure(ccbPtr, typeof(CcbScsiio64)); - if((csio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_REQ_CMP && - (csio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_SCSI_STATUS_ERROR) + if((csio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamReqCmp && + (csio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamScsiStatusError) { error = Marshal.GetLastWin32Error(); DicConsole.DebugWriteLine("FreeBSD devices", "CAM status {0} error {1}", csio.ccb_h.status, error); sense = true; } - if((csio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_SCSI_STATUS_ERROR) + if((csio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamScsiStatusError) { sense = true; senseBuffer = new byte[1]; senseBuffer[0] = csio.scsi_status; } - if((csio.ccb_h.status & cam_status.CAM_AUTOSNS_VALID) != 0) + if((csio.ccb_h.status & CamStatus.CamAutosnsValid) != 0) { if(csio.sense_len - csio.sense_resid > 0) { - sense = (csio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_SCSI_STATUS_ERROR; + sense = (csio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamScsiStatusError; senseBuffer = new byte[csio.sense_len - csio.sense_resid]; senseBuffer[0] = csio.sense_data.error_code; Array.Copy(csio.sense_data.sense_buf, 0, senseBuffer, 1, senseBuffer.Length - 1); @@ -138,12 +138,12 @@ namespace DiscImageChef.Devices.FreeBSD cdb = new byte[csio.cdb_len]; Marshal.Copy(csio.data_ptr, buffer, 0, buffer.Length); - if(csio.ccb_h.flags.HasFlag(ccb_flags.CAM_CDB_POINTER)) + if(csio.ccb_h.flags.HasFlag(CcbFlags.CamCdbPointer)) Marshal.Copy(new IntPtr(BitConverter.ToInt64(csio.cdb_bytes, 0)), cdb, 0, cdb.Length); else Array.Copy(csio.cdb_bytes, 0, cdb, 0, cdb.Length); duration = (end - start).TotalMilliseconds; - if(csio.ccb_h.flags.HasFlag(ccb_flags.CAM_CDB_POINTER)) Marshal.FreeHGlobal(cdbPtr); + if(csio.ccb_h.flags.HasFlag(CcbFlags.CamCdbPointer)) Marshal.FreeHGlobal(cdbPtr); Marshal.FreeHGlobal(csio.data_ptr); cam_freeccb(ccbPtr); @@ -163,7 +163,7 @@ namespace DiscImageChef.Devices.FreeBSD /// Time it took to execute the command in milliseconds /// True if SCSI error returned non-OK status and contains SCSI sense internal static int SendScsiCommand(IntPtr dev, byte[] cdb, ref byte[] buffer, out byte[] senseBuffer, - uint timeout, ccb_flags direction, out double duration, out bool sense) + uint timeout, CcbFlags direction, out double duration, out bool sense) { senseBuffer = null; duration = 0; @@ -180,8 +180,8 @@ namespace DiscImageChef.Devices.FreeBSD return Marshal.GetLastWin32Error(); } - ccb_scsiio csio = (ccb_scsiio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_scsiio)); - csio.ccb_h.func_code = xpt_opcode.XPT_SCSI_IO; + CcbScsiio csio = (CcbScsiio)Marshal.PtrToStructure(ccbPtr, typeof(CcbScsiio)); + csio.ccb_h.func_code = XptOpcode.XptScsiIo; csio.ccb_h.flags = direction; csio.ccb_h.xflags = 0; csio.ccb_h.retry_count = 1; @@ -200,9 +200,9 @@ namespace DiscImageChef.Devices.FreeBSD cdbPtr = Marshal.AllocHGlobal(cdb.Length); byte[] cdbPtrBytes = BitConverter.GetBytes(cdbPtr.ToInt32()); Array.Copy(cdbPtrBytes, 0, csio.cdb_bytes, 0, IntPtr.Size); - csio.ccb_h.flags |= ccb_flags.CAM_CDB_POINTER; + csio.ccb_h.flags |= CcbFlags.CamCdbPointer; } - csio.ccb_h.flags |= ccb_flags.CAM_DEV_QFRZDIS; + csio.ccb_h.flags |= CcbFlags.CamDevQfrzdis; Marshal.Copy(buffer, 0, csio.data_ptr, buffer.Length); Marshal.StructureToPtr(csio, ccbPtr, false); @@ -213,28 +213,28 @@ namespace DiscImageChef.Devices.FreeBSD if(error < 0) error = Marshal.GetLastWin32Error(); - csio = (ccb_scsiio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_scsiio)); + csio = (CcbScsiio)Marshal.PtrToStructure(ccbPtr, typeof(CcbScsiio)); - if((csio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_REQ_CMP && - (csio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_SCSI_STATUS_ERROR) + if((csio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamReqCmp && + (csio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamScsiStatusError) { error = Marshal.GetLastWin32Error(); DicConsole.DebugWriteLine("FreeBSD devices", "CAM status {0} error {1}", csio.ccb_h.status, error); sense = true; } - if((csio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_SCSI_STATUS_ERROR) + if((csio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamScsiStatusError) { sense = true; senseBuffer = new byte[1]; senseBuffer[0] = csio.scsi_status; } - if((csio.ccb_h.status & cam_status.CAM_AUTOSNS_VALID) != 0) + if((csio.ccb_h.status & CamStatus.CamAutosnsValid) != 0) { if(csio.sense_len - csio.sense_resid > 0) { - sense = (csio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_SCSI_STATUS_ERROR; + sense = (csio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamScsiStatusError; senseBuffer = new byte[csio.sense_len - csio.sense_resid]; senseBuffer[0] = csio.sense_data.error_code; Array.Copy(csio.sense_data.sense_buf, 0, senseBuffer, 1, senseBuffer.Length - 1); @@ -245,19 +245,19 @@ namespace DiscImageChef.Devices.FreeBSD cdb = new byte[csio.cdb_len]; Marshal.Copy(csio.data_ptr, buffer, 0, buffer.Length); - if(csio.ccb_h.flags.HasFlag(ccb_flags.CAM_CDB_POINTER)) + if(csio.ccb_h.flags.HasFlag(CcbFlags.CamCdbPointer)) Marshal.Copy(new IntPtr(BitConverter.ToInt32(csio.cdb_bytes, 0)), cdb, 0, cdb.Length); else Array.Copy(csio.cdb_bytes, 0, cdb, 0, cdb.Length); duration = (end - start).TotalMilliseconds; - if(csio.ccb_h.flags.HasFlag(ccb_flags.CAM_CDB_POINTER)) Marshal.FreeHGlobal(cdbPtr); + if(csio.ccb_h.flags.HasFlag(CcbFlags.CamCdbPointer)) Marshal.FreeHGlobal(cdbPtr); Marshal.FreeHGlobal(csio.data_ptr); cam_freeccb(ccbPtr); return error; } - static ccb_flags AtaProtocolToCamFlags(AtaProtocol protocol) + static CcbFlags AtaProtocolToCamFlags(AtaProtocol protocol) { switch(protocol) { @@ -266,12 +266,12 @@ namespace DiscImageChef.Devices.FreeBSD case AtaProtocol.HardReset: case AtaProtocol.NonData: case AtaProtocol.SoftReset: - case AtaProtocol.ReturnResponse: return ccb_flags.CAM_DIR_NONE; + case AtaProtocol.ReturnResponse: return CcbFlags.CamDirNone; case AtaProtocol.PioIn: - case AtaProtocol.UDmaIn: return ccb_flags.CAM_DIR_IN; + case AtaProtocol.UDmaIn: return CcbFlags.CamDirIn; case AtaProtocol.PioOut: - case AtaProtocol.UDmaOut: return ccb_flags.CAM_DIR_OUT; - default: return ccb_flags.CAM_DIR_NONE; + case AtaProtocol.UDmaOut: return CcbFlags.CamDirOut; + default: return CcbFlags.CamDirNone; } } @@ -287,8 +287,8 @@ namespace DiscImageChef.Devices.FreeBSD IntPtr ccbPtr = cam_getccb(dev); - ccb_ataio ataio = (ccb_ataio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_ataio)); - ataio.ccb_h.func_code = xpt_opcode.XPT_ATA_IO; + CcbAtaio ataio = (CcbAtaio)Marshal.PtrToStructure(ccbPtr, typeof(CcbAtaio)); + ataio.ccb_h.func_code = XptOpcode.XptAtaIo; ataio.ccb_h.flags = AtaProtocolToCamFlags(protocol); ataio.ccb_h.xflags = 0; ataio.ccb_h.retry_count = 1; @@ -296,7 +296,7 @@ namespace DiscImageChef.Devices.FreeBSD ataio.ccb_h.timeout = timeout; ataio.data_ptr = Marshal.AllocHGlobal(buffer.Length); ataio.dxfer_len = (uint)buffer.Length; - ataio.ccb_h.flags |= ccb_flags.CAM_DEV_QFRZDIS; + ataio.ccb_h.flags |= CcbFlags.CamDevQfrzdis; ataio.cmd.flags = CamAtaIoFlags.NeedResult; switch(protocol) { @@ -304,10 +304,10 @@ namespace DiscImageChef.Devices.FreeBSD case AtaProtocol.DmaQueued: case AtaProtocol.UDmaIn: case AtaProtocol.UDmaOut: - ataio.cmd.flags |= CamAtaIoFlags.DMA; + ataio.cmd.flags |= CamAtaIoFlags.Dma; break; - case AtaProtocol.FPDma: - ataio.cmd.flags |= CamAtaIoFlags.FPDMA; + case AtaProtocol.FpDma: + ataio.cmd.flags |= CamAtaIoFlags.Fpdma; break; } @@ -328,17 +328,17 @@ namespace DiscImageChef.Devices.FreeBSD if(error < 0) error = Marshal.GetLastWin32Error(); - ataio = (ccb_ataio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_ataio)); + ataio = (CcbAtaio)Marshal.PtrToStructure(ccbPtr, typeof(CcbAtaio)); - if((ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_REQ_CMP && - (ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_SCSI_STATUS_ERROR) + if((ataio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamReqCmp && + (ataio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamScsiStatusError) { error = Marshal.GetLastWin32Error(); DicConsole.DebugWriteLine("FreeBSD devices", "CAM status {0} error {1}", ataio.ccb_h.status, error); sense = true; } - if((ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_ATA_STATUS_ERROR) sense = true; + if((ataio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamAtaStatusError) sense = true; errorRegisters.cylinderHigh = ataio.res.lba_high; errorRegisters.cylinderLow = ataio.res.lba_mid; @@ -373,8 +373,8 @@ namespace DiscImageChef.Devices.FreeBSD IntPtr ccbPtr = cam_getccb(dev); - ccb_ataio ataio = (ccb_ataio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_ataio)); - ataio.ccb_h.func_code = xpt_opcode.XPT_ATA_IO; + CcbAtaio ataio = (CcbAtaio)Marshal.PtrToStructure(ccbPtr, typeof(CcbAtaio)); + ataio.ccb_h.func_code = XptOpcode.XptAtaIo; ataio.ccb_h.flags = AtaProtocolToCamFlags(protocol); ataio.ccb_h.xflags = 0; ataio.ccb_h.retry_count = 1; @@ -382,7 +382,7 @@ namespace DiscImageChef.Devices.FreeBSD ataio.ccb_h.timeout = timeout; ataio.data_ptr = Marshal.AllocHGlobal(buffer.Length); ataio.dxfer_len = (uint)buffer.Length; - ataio.ccb_h.flags |= ccb_flags.CAM_DEV_QFRZDIS; + ataio.ccb_h.flags |= CcbFlags.CamDevQfrzdis; ataio.cmd.flags = CamAtaIoFlags.NeedResult; switch(protocol) { @@ -390,10 +390,10 @@ namespace DiscImageChef.Devices.FreeBSD case AtaProtocol.DmaQueued: case AtaProtocol.UDmaIn: case AtaProtocol.UDmaOut: - ataio.cmd.flags |= CamAtaIoFlags.DMA; + ataio.cmd.flags |= CamAtaIoFlags.Dma; break; - case AtaProtocol.FPDma: - ataio.cmd.flags |= CamAtaIoFlags.FPDMA; + case AtaProtocol.FpDma: + ataio.cmd.flags |= CamAtaIoFlags.Fpdma; break; } @@ -414,17 +414,17 @@ namespace DiscImageChef.Devices.FreeBSD if(error < 0) error = Marshal.GetLastWin32Error(); - ataio = (ccb_ataio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_ataio)); + ataio = (CcbAtaio)Marshal.PtrToStructure(ccbPtr, typeof(CcbAtaio)); - if((ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_REQ_CMP && - (ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_SCSI_STATUS_ERROR) + if((ataio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamReqCmp && + (ataio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamScsiStatusError) { error = Marshal.GetLastWin32Error(); DicConsole.DebugWriteLine("FreeBSD devices", "CAM status {0} error {1}", ataio.ccb_h.status, error); sense = true; } - if((ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_ATA_STATUS_ERROR) sense = true; + if((ataio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamAtaStatusError) sense = true; errorRegisters.lbaHigh = ataio.res.lba_high; errorRegisters.lbaMid = ataio.res.lba_mid; @@ -463,8 +463,8 @@ namespace DiscImageChef.Devices.FreeBSD IntPtr ccbPtr = cam_getccb(dev); - ccb_ataio ataio = (ccb_ataio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_ataio)); - ataio.ccb_h.func_code = xpt_opcode.XPT_ATA_IO; + CcbAtaio ataio = (CcbAtaio)Marshal.PtrToStructure(ccbPtr, typeof(CcbAtaio)); + ataio.ccb_h.func_code = XptOpcode.XptAtaIo; ataio.ccb_h.flags = AtaProtocolToCamFlags(protocol); ataio.ccb_h.xflags = 0; ataio.ccb_h.retry_count = 1; @@ -472,7 +472,7 @@ namespace DiscImageChef.Devices.FreeBSD ataio.ccb_h.timeout = timeout; ataio.data_ptr = Marshal.AllocHGlobal(buffer.Length); ataio.dxfer_len = (uint)buffer.Length; - ataio.ccb_h.flags |= ccb_flags.CAM_DEV_QFRZDIS; + ataio.ccb_h.flags |= CcbFlags.CamDevQfrzdis; ataio.cmd.flags = CamAtaIoFlags.NeedResult | CamAtaIoFlags.ExtendedCommand; switch(protocol) { @@ -480,10 +480,10 @@ namespace DiscImageChef.Devices.FreeBSD case AtaProtocol.DmaQueued: case AtaProtocol.UDmaIn: case AtaProtocol.UDmaOut: - ataio.cmd.flags |= CamAtaIoFlags.DMA; + ataio.cmd.flags |= CamAtaIoFlags.Dma; break; - case AtaProtocol.FPDma: - ataio.cmd.flags |= CamAtaIoFlags.FPDMA; + case AtaProtocol.FpDma: + ataio.cmd.flags |= CamAtaIoFlags.Fpdma; break; } @@ -509,17 +509,17 @@ namespace DiscImageChef.Devices.FreeBSD if(error < 0) error = Marshal.GetLastWin32Error(); - ataio = (ccb_ataio)Marshal.PtrToStructure(ccbPtr, typeof(ccb_ataio)); + ataio = (CcbAtaio)Marshal.PtrToStructure(ccbPtr, typeof(CcbAtaio)); - if((ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_REQ_CMP && - (ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) != cam_status.CAM_SCSI_STATUS_ERROR) + if((ataio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamReqCmp && + (ataio.ccb_h.status & CamStatus.CamStatusMask) != CamStatus.CamScsiStatusError) { error = Marshal.GetLastWin32Error(); DicConsole.DebugWriteLine("FreeBSD devices", "CAM status {0} error {1}", ataio.ccb_h.status, error); sense = true; } - if((ataio.ccb_h.status & cam_status.CAM_STATUS_MASK) == cam_status.CAM_ATA_STATUS_ERROR) sense = true; + if((ataio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamAtaStatusError) sense = true; errorRegisters.sectorCount = (ushort)((ataio.res.sector_count_exp << 8) + ataio.res.sector_count); errorRegisters.lbaLow = (ushort)((ataio.res.lba_low_exp << 8) + ataio.res.lba_low); diff --git a/DiscImageChef.Devices/FreeBSD/Enums.cs b/DiscImageChef.Devices/FreeBSD/Enums.cs index 581bce798..4303c28c7 100644 --- a/DiscImageChef.Devices/FreeBSD/Enums.cs +++ b/DiscImageChef.Devices/FreeBSD/Enums.cs @@ -93,7 +93,7 @@ namespace DiscImageChef.Devices.FreeBSD /// /// O_NOCTTY /// - NoControlTTY = 0x00008000, + NoControlTty = 0x00008000, /// /// O_DIRECT /// @@ -109,7 +109,7 @@ namespace DiscImageChef.Devices.FreeBSD /// /// O_TTY_INIT /// - InitializeTTY = 0x00080000, + InitializeTty = 0x00080000, /// /// O_CLOEXEC /// @@ -126,7 +126,7 @@ namespace DiscImageChef.Devices.FreeBSD /// /// FPDMA command /// - FPDMA = 0x02, + Fpdma = 0x02, /// /// Control, not a command /// @@ -138,595 +138,595 @@ namespace DiscImageChef.Devices.FreeBSD /// /// DMA command /// - DMA = 0x10 + Dma = 0x10 } /// XPT Opcodes for xpt_action [Flags] - enum xpt_opcode + enum XptOpcode { // Function code flags are bits greater than 0xff /// Non-immediate function code - XPT_FC_QUEUED = 0x100, - XPT_FC_USER_CCB = 0x200, + XptFcQueued = 0x100, + XptFcUserCcb = 0x200, /// Only for the transport layer device - XPT_FC_XPT_ONLY = 0x400, + XptFcXptOnly = 0x400, /// Passes through the device queues - XPT_FC_DEV_QUEUED = 0x800 | XPT_FC_QUEUED, + XptFcDevQueued = 0x800 | XptFcQueued, // Common function commands: 0x00->0x0F /// Execute Nothing - XPT_NOOP = 0x00, + XptNoop = 0x00, /// Execute the requested I/O operation - XPT_SCSI_IO = 0x01 | XPT_FC_DEV_QUEUED, + XptScsiIo = 0x01 | XptFcDevQueued, /// Get type information for specified device - XPT_GDEV_TYPE = 0x02, + XptGdevType = 0x02, /// Get a list of peripheral devices - XPT_GDEVLIST = 0x03, + XptGdevlist = 0x03, /// Path routing inquiry - XPT_PATH_INQ = 0x04, + XptPathInq = 0x04, /// Release a frozen device queue - XPT_REL_SIMQ = 0x05, + XptRelSimq = 0x05, /// Set Asynchronous Callback Parameters - XPT_SASYNC_CB = 0x06, + XptSasyncCb = 0x06, /// Set device type information - XPT_SDEV_TYPE = 0x07, + XptSdevType = 0x07, /// (Re)Scan the SCSI Bus - XPT_SCAN_BUS = 0x08 | XPT_FC_QUEUED | XPT_FC_USER_CCB | XPT_FC_XPT_ONLY, + XptScanBus = 0x08 | XptFcQueued | XptFcUserCcb | XptFcXptOnly, /// Get EDT entries matching the given pattern - XPT_DEV_MATCH = 0x09 | XPT_FC_XPT_ONLY, + XptDevMatch = 0x09 | XptFcXptOnly, /// Turn on debugging for a bus, target or lun - XPT_DEBUG = 0x0a, + XptDebug = 0x0a, /// Path statistics (error counts, etc.) - XPT_PATH_STATS = 0x0b, + XptPathStats = 0x0b, /// Device statistics (error counts, etc.) - XPT_GDEV_STATS = 0x0c, + XptGdevStats = 0x0c, /// Get/Set Device advanced information - XPT_DEV_ADVINFO = 0x0e, + XptDevAdvinfo = 0x0e, /// Asynchronous event - XPT_ASYNC = 0x0f | XPT_FC_QUEUED | XPT_FC_USER_CCB | XPT_FC_XPT_ONLY, + XptAsync = 0x0f | XptFcQueued | XptFcUserCcb | XptFcXptOnly, /// SCSI Control Functions: 0x10->0x1F /// Abort the specified CCB - XPT_ABORT = 0x10, + XptAbort = 0x10, /// Reset the specified SCSI bus - XPT_RESET_BUS = 0x11 | XPT_FC_XPT_ONLY, + XptResetBus = 0x11 | XptFcXptOnly, /// Bus Device Reset the specified SCSI device - XPT_RESET_DEV = 0x12 | XPT_FC_DEV_QUEUED, + XptResetDev = 0x12 | XptFcDevQueued, /// Terminate the I/O process - XPT_TERM_IO = 0x13, + XptTermIo = 0x13, /// Scan Logical Unit - XPT_SCAN_LUN = 0x14 | XPT_FC_QUEUED | XPT_FC_USER_CCB | XPT_FC_XPT_ONLY, + XptScanLun = 0x14 | XptFcQueued | XptFcUserCcb | XptFcXptOnly, /// Get default/user transfer settings for the target - XPT_GET_TRAN_SETTINGS = 0x15, + XptGetTranSettings = 0x15, /// Set transfer rate/width negotiation settings - XPT_SET_TRAN_SETTINGS = 0x16, + XptSetTranSettings = 0x16, /// Calculate the geometry parameters for a device give the sector size and volume size. - XPT_CALC_GEOMETRY = 0x17, + XptCalcGeometry = 0x17, /// Execute the requested ATA I/O operation - XPT_ATA_IO = 0x18 | XPT_FC_DEV_QUEUED, + XptAtaIo = 0x18 | XptFcDevQueued, /// Compat only - XPT_GET_SIM_KNOB_OLD = 0x18, + XptGetSimKnobOld = 0x18, /// Set SIM specific knob values. - XPT_SET_SIM_KNOB = 0x19, + XptSetSimKnob = 0x19, /// Get SIM specific knob values. - XPT_GET_SIM_KNOB = 0x1a, + XptGetSimKnob = 0x1a, /// Serial Management Protocol - XPT_SMP_IO = 0x1b | XPT_FC_DEV_QUEUED, + XptSmpIo = 0x1b | XptFcDevQueued, /// Scan Target - XPT_SCAN_TGT = 0x1E | XPT_FC_QUEUED | XPT_FC_USER_CCB | XPT_FC_XPT_ONLY, + XptScanTgt = 0x1E | XptFcQueued | XptFcUserCcb | XptFcXptOnly, // HBA engine commands 0x20->0x2F /// HBA engine feature inquiry - XPT_ENG_INQ = 0x20 | XPT_FC_XPT_ONLY, + XptEngInq = 0x20 | XptFcXptOnly, /// HBA execute engine request - XPT_ENG_EXEC = 0x21 | XPT_FC_DEV_QUEUED, + XptEngExec = 0x21 | XptFcDevQueued, // Target mode commands: 0x30->0x3F /// Enable LUN as a target - XPT_EN_LUN = 0x30, + XptEnLun = 0x30, /// Execute target I/O request - XPT_TARGET_IO = 0x31 | XPT_FC_DEV_QUEUED, + XptTargetIo = 0x31 | XptFcDevQueued, /// Accept Host Target Mode CDB - XPT_ACCEPT_TARGET_IO = 0x32 | XPT_FC_QUEUED | XPT_FC_USER_CCB, + XptAcceptTargetIo = 0x32 | XptFcQueued | XptFcUserCcb, /// Continue Host Target I/O Connection - XPT_CONT_TARGET_IO = 0x33 | XPT_FC_DEV_QUEUED, + XptContTargetIo = 0x33 | XptFcDevQueued, /// Notify Host Target driver of event (obsolete) - XPT_IMMED_NOTIFY = 0x34 | XPT_FC_QUEUED | XPT_FC_USER_CCB, + XptImmedNotify = 0x34 | XptFcQueued | XptFcUserCcb, /// Acknowledgement of event (obsolete) - XPT_NOTIFY_ACK = 0x35, + XptNotifyAck = 0x35, /// Notify Host Target driver of event - XPT_IMMEDIATE_NOTIFY = 0x36 | XPT_FC_QUEUED | XPT_FC_USER_CCB, + XptImmediateNotify = 0x36 | XptFcQueued | XptFcUserCcb, /// Acknowledgement of event - XPT_NOTIFY_ACKNOWLEDGE = 0x37 | XPT_FC_QUEUED | XPT_FC_USER_CCB, + XptNotifyAcknowledge = 0x37 | XptFcQueued | XptFcUserCcb, /// Vendor Unique codes: 0x80->0x8F - XPT_VUNIQUE = 0x80 + XptVunique = 0x80 } - enum ccb_dev_match_status + enum CcbDevMatchStatus { - CAM_DEV_MATCH_LAST, - CAM_DEV_MATCH_MORE, - CAM_DEV_MATCH_LIST_CHANGED, - CAM_DEV_MATCH_SIZE_ERROR, - CAM_DEV_MATCH_ERROR + CamDevMatchLast, + CamDevMatchMore, + CamDevMatchListChanged, + CamDevMatchSizeError, + CamDevMatchError } - enum dev_match_type + enum DevMatchType { - DEV_MATCH_PERIPH = 0, - DEV_MATCH_DEVICE, - DEV_MATCH_BUS + DevMatchPeriph = 0, + DevMatchDevice, + DevMatchBus } [Flags] - enum periph_pattern_flags + enum PeriphPatternFlags { - PERIPH_MATCH_NONE = 0x000, - PERIPH_MATCH_PATH = 0x001, - PERIPH_MATCH_TARGET = 0x002, - PERIPH_MATCH_LUN = 0x004, - PERIPH_MATCH_NAME = 0x008, - PERIPH_MATCH_UNIT = 0x010, + PeriphMatchNone = 0x000, + PeriphMatchPath = 0x001, + PeriphMatchTarget = 0x002, + PeriphMatchLun = 0x004, + PeriphMatchName = 0x008, + PeriphMatchUnit = 0x010, // PERIPH_MATCH_ANY = 0x01f } [Flags] - enum dev_pattern_flags + enum DevPatternFlags { - DEV_MATCH_NONE = 0x000, - DEV_MATCH_PATH = 0x001, - DEV_MATCH_TARGET = 0x002, - DEV_MATCH_LUN = 0x004, - DEV_MATCH_INQUIRY = 0x008, - DEV_MATCH_DEVID = 0x010, + DevMatchNone = 0x000, + DevMatchPath = 0x001, + DevMatchTarget = 0x002, + DevMatchLun = 0x004, + DevMatchInquiry = 0x008, + DevMatchDevid = 0x010, // DEV_MATCH_ANY = 0x00f } [Flags] - enum bus_pattern_flags + enum BusPatternFlags { - BUS_MATCH_NONE = 0x000, - BUS_MATCH_PATH = 0x001, - BUS_MATCH_NAME = 0x002, - BUS_MATCH_UNIT = 0x004, - BUS_MATCH_BUS_ID = 0x008, + BusMatchNone = 0x000, + BusMatchPath = 0x001, + BusMatchName = 0x002, + BusMatchUnit = 0x004, + BusMatchBusId = 0x008, // BUS_MATCH_ANY = 0x00f } [Flags] - enum dev_result_flags + enum DevResultFlags { - DEV_RESULT_NOFLAG = 0x00, - DEV_RESULT_UNCONFIGURED = 0x01 + DevResultNoflag = 0x00, + DevResultUnconfigured = 0x01 } - enum cam_proto + enum CamProto { - PROTO_UNKNOWN, - PROTO_UNSPECIFIED, + ProtoUnknown, + ProtoUnspecified, /// /// Small Computer System Interface /// - PROTO_SCSI, + ProtoScsi, /// /// AT Attachment /// - PROTO_ATA, + ProtoAta, /// /// AT Attachment Packetized Interface /// - PROTO_ATAPI, + ProtoAtapi, /// /// SATA Port Multiplier /// - PROTO_SATAPM, + ProtoSatapm, /// /// SATA Enclosure Management Bridge /// - PROTO_SEMB, + ProtoSemb, /// /// NVMe /// - PROTO_NVME, + ProtoNvme, /// /// MMC, SD, SDIO /// - PROTO_MMCSD, + ProtoMmcsd, } [Flags] - enum mmc_card_features + enum MmcCardFeatures { - CARD_FEATURE_MEMORY = 0x1, - CARD_FEATURE_SDHC = 0x1 << 1, - CARD_FEATURE_SDIO = 0x1 << 2, - CARD_FEATURE_SD20 = 0x1 << 3, - CARD_FEATURE_MMC = 0x1 << 4, - CARD_FEATURE_18V = 0x1 << 5, + CardFeatureMemory = 0x1, + CardFeatureSdhc = 0x1 << 1, + CardFeatureSdio = 0x1 << 2, + CardFeatureSd20 = 0x1 << 3, + CardFeatureMmc = 0x1 << 4, + CardFeature18V = 0x1 << 5, } - enum cam_generations : uint + enum CamGenerations : uint { - CAM_BUS_GENERATION = 0x00, - CAM_TARGET_GENERATION = 0x01, - CAM_DEV_GENERATION = 0x02, - CAM_PERIPH_GENERATION = 0x03, + CamBusGeneration = 0x00, + CamTargetGeneration = 0x01, + CamDevGeneration = 0x02, + CamPeriphGeneration = 0x03, } [Flags] - enum dev_pos_type + enum DevPosType { - CAM_DEV_POS_NONE = 0x000, - CAM_DEV_POS_BUS = 0x001, - CAM_DEV_POS_TARGET = 0x002, - CAM_DEV_POS_DEVICE = 0x004, - CAM_DEV_POS_PERIPH = 0x008, - CAM_DEV_POS_PDPTR = 0x010, + CamDevPosNone = 0x000, + CamDevPosBus = 0x001, + CamDevPosTarget = 0x002, + CamDevPosDevice = 0x004, + CamDevPosPeriph = 0x008, + CamDevPosPdptr = 0x010, // CAM_DEV_POS_TYPEMASK = 0xf00, - CAM_DEV_POS_EDT = 0x100, - CAM_DEV_POS_PDRV = 0x200 + CamDevPosEdt = 0x100, + CamDevPosPdrv = 0x200 } enum FreebsdIoctl : uint { - CAMIOCOMMAND = 0xC4D81802, + Camiocommand = 0xC4D81802, } [Flags] - enum ccb_flags : uint + enum CcbFlags : uint { /// /// The CDB field is a pointer /// - CAM_CDB_POINTER = 0x00000001, + CamCdbPointer = 0x00000001, /// /// SIM queue actions are enabled /// - CAM_QUEUE_ENABLE = 0x00000002, + CamQueueEnable = 0x00000002, /// /// CCB contains a linked CDB /// - CAM_CDB_LINKED = 0x00000004, + CamCdbLinked = 0x00000004, /// /// Perform transport negotiation with this command. /// - CAM_NEGOTIATE = 0x00000008, + CamNegotiate = 0x00000008, /// /// Data type with physical addrs /// - CAM_DATA_ISPHYS = 0x00000010, + CamDataIsphys = 0x00000010, /// /// Disable autosense feature /// - CAM_DIS_AUTOSENSE = 0x00000020, + CamDisAutosense = 0x00000020, /// /// Data direction (00:IN/OUT) /// - CAM_DIR_BOTH = 0x00000000, + CamDirBoth = 0x00000000, /// /// Data direction (01:DATA IN) /// - CAM_DIR_IN = 0x00000040, + CamDirIn = 0x00000040, /// /// Data direction (10:DATA OUT) /// - CAM_DIR_OUT = 0x00000080, + CamDirOut = 0x00000080, /// /// Data direction (11:no data) /// - CAM_DIR_NONE = 0x000000C0, + CamDirNone = 0x000000C0, /// /// Data type (000:Virtual) /// - CAM_DATA_VADDR = 0x00000000, + CamDataVaddr = 0x00000000, /// /// Data type (001:Physical) /// - CAM_DATA_PADDR = 0x00000010, + CamDataPaddr = 0x00000010, /// /// Data type (010:sglist) /// - CAM_DATA_SG = 0x00040000, + CamDataSg = 0x00040000, /// /// Data type (011:sglist phys) /// - CAM_DATA_SG_PADDR = 0x00040010, + CamDataSgPaddr = 0x00040010, /// /// Data type (100:bio) /// - CAM_DATA_BIO = 0x00200000, + CamDataBio = 0x00200000, /// /// Use Soft reset alternative /// - CAM_SOFT_RST_OP = 0x00000100, + CamSoftRstOp = 0x00000100, /// /// Flush resid bytes on complete /// - CAM_ENG_SYNC = 0x00000200, + CamEngSync = 0x00000200, /// /// Disable DEV Q freezing /// - CAM_DEV_QFRZDIS = 0x00000400, + CamDevQfrzdis = 0x00000400, /// /// Freeze DEV Q on execution /// - CAM_DEV_QFREEZE = 0x00000800, + CamDevQfreeze = 0x00000800, /// /// Command takes a lot of power /// - CAM_HIGH_POWER = 0x00001000, + CamHighPower = 0x00001000, /// /// Sense data is a pointer /// - CAM_SENSE_PTR = 0x00002000, + CamSensePtr = 0x00002000, /// /// Sense pointer is physical addr /// - CAM_SENSE_PHYS = 0x00004000, + CamSensePhys = 0x00004000, /// /// Use the tag action in this ccb /// - CAM_TAG_ACTION_VALID = 0x00008000, + CamTagActionValid = 0x00008000, /// /// Pass driver does err. recovery /// - CAM_PASS_ERR_RECOVER = 0x00010000, + CamPassErrRecover = 0x00010000, /// /// Disable disconnect /// - CAM_DIS_DISCONNECT = 0x00020000, + CamDisDisconnect = 0x00020000, /// /// Message buffer ptr is physical /// - CAM_MSG_BUF_PHYS = 0x00080000, + CamMsgBufPhys = 0x00080000, /// /// Autosense data ptr is physical /// - CAM_SNS_BUF_PHYS = 0x00100000, + CamSnsBufPhys = 0x00100000, /// /// CDB poiner is physical /// - CAM_CDB_PHYS = 0x00400000, + CamCdbPhys = 0x00400000, /// /// SG list is for the HBA engine /// - CAM_ENG_SGLIST = 0x00800000, + CamEngSglist = 0x00800000, /* Phase cognizant mode flags */ /// /// Disable autosave/restore ptrs /// - CAM_DIS_AUTOSRP = 0x01000000, + CamDisAutosrp = 0x01000000, /// /// Disable auto disconnect /// - CAM_DIS_AUTODISC = 0x02000000, + CamDisAutodisc = 0x02000000, /// /// Target CCB available /// - CAM_TGT_CCB_AVAIL = 0x04000000, + CamTgtCcbAvail = 0x04000000, /// /// The SIM runs in phase mode /// - CAM_TGT_PHASE_MODE = 0x08000000, + CamTgtPhaseMode = 0x08000000, /// /// Message buffer valid /// - CAM_MSGB_VALID = 0x10000000, + CamMsgbValid = 0x10000000, /// /// Status buffer valid /// - CAM_STATUS_VALID = 0x20000000, + CamStatusValid = 0x20000000, /// /// Data buffer valid /// - CAM_DATAB_VALID = 0x40000000, + CamDatabValid = 0x40000000, /* Host target Mode flags */ /// /// Send sense data with status /// - CAM_SEND_SENSE = 0x08000000, + CamSendSense = 0x08000000, /// /// Terminate I/O Message sup. /// - CAM_TERM_IO = 0x10000000, + CamTermIo = 0x10000000, /// /// Disconnects are mandatory /// - CAM_DISCONNECT = 0x20000000, + CamDisconnect = 0x20000000, /// /// Send status after data phase /// - CAM_SEND_STATUS = 0x40000000, + CamSendStatus = 0x40000000, /// /// Call callback without lock. /// - CAM_UNLOCKED = 0x80000000 + CamUnlocked = 0x80000000 } - enum cam_status : uint + enum CamStatus : uint { /// CCB request is in progress - CAM_REQ_INPROG = 0x00, + CamReqInprog = 0x00, /// CCB request completed without error - CAM_REQ_CMP = 0x01, + CamReqCmp = 0x01, /// CCB request aborted by the host - CAM_REQ_ABORTED = 0x02, + CamReqAborted = 0x02, /// Unable to abort CCB request - CAM_UA_ABORT = 0x03, + CamUaAbort = 0x03, /// CCB request completed with an error - CAM_REQ_CMP_ERR = 0x04, + CamReqCmpErr = 0x04, /// CAM subsystem is busy - CAM_BUSY = 0x05, + CamBusy = 0x05, /// CCB request was invalid - CAM_REQ_INVALID = 0x06, + CamReqInvalid = 0x06, /// Supplied Path ID is invalid - CAM_PATH_INVALID = 0x07, + CamPathInvalid = 0x07, /// SCSI Device Not Installed/there - CAM_DEV_NOT_THERE = 0x08, + CamDevNotThere = 0x08, /// Unable to terminate I/O CCB request - CAM_UA_TERMIO = 0x09, + CamUaTermio = 0x09, /// Target Selection Timeout - CAM_SEL_TIMEOUT = 0x0a, + CamSelTimeout = 0x0a, /// Command timeout - CAM_CMD_TIMEOUT = 0x0b, + CamCmdTimeout = 0x0b, /// SCSI error, look at error code in CCB - CAM_SCSI_STATUS_ERROR = 0x0c, + CamScsiStatusError = 0x0c, /// Message Reject Received - CAM_MSG_REJECT_REC = 0x0d, + CamMsgRejectRec = 0x0d, /// SCSI Bus Reset Sent/Received - CAM_SCSI_BUS_RESET = 0x0e, + CamScsiBusReset = 0x0e, /// Uncorrectable parity error occurred - CAM_UNCOR_PARITY = 0x0f, + CamUncorParity = 0x0f, /// Autosense: request sense cmd fail - CAM_AUTOSENSE_FAIL = 0x10, + CamAutosenseFail = 0x10, /// No HBA Detected error - CAM_NO_HBA = 0x11, + CamNoHba = 0x11, /// Data Overrun error - CAM_DATA_RUN_ERR = 0x12, + CamDataRunErr = 0x12, /// Unexpected Bus Free - CAM_UNEXP_BUSFREE = 0x13, + CamUnexpBusfree = 0x13, /// Target Bus Phase Sequence Failure - CAM_SEQUENCE_FAIL = 0x14, + CamSequenceFail = 0x14, /// CCB length supplied is inadequate - CAM_CCB_LEN_ERR = 0x15, + CamCcbLenErr = 0x15, /// Unable to provide requested capability - CAM_PROVIDE_FAIL = 0x16, + CamProvideFail = 0x16, /// A SCSI BDR msg was sent to target - CAM_BDR_SENT = 0x17, + CamBdrSent = 0x17, /// CCB request terminated by the host - CAM_REQ_TERMIO = 0x18, + CamReqTermio = 0x18, /// Unrecoverable Host Bus Adapter Error - CAM_UNREC_HBA_ERROR = 0x19, + CamUnrecHbaError = 0x19, /// Request was too large for this host - CAM_REQ_TOO_BIG = 0x1a, + CamReqTooBig = 0x1a, /// This request should be requeued to preserve transaction ordering. This typically occurs when the SIM recognizes an error that should freeze the queue and must place additional requests for the target at the sim level back into the XPT queue. - CAM_REQUEUE_REQ = 0x1b, + CamRequeueReq = 0x1b, /// ATA error, look at error code in CCB - CAM_ATA_STATUS_ERROR = 0x1c, + CamAtaStatusError = 0x1c, /// Initiator/Target Nexus lost. - CAM_SCSI_IT_NEXUS_LOST = 0x1d, + CamScsiItNexusLost = 0x1d, /// SMP error, look at error code in CCB - CAM_SMP_STATUS_ERROR = 0x1e, + CamSmpStatusError = 0x1e, /// Command completed without error but exceeded the soft timeout threshold. - CAM_REQ_SOFTTIMEOUT = 0x1f, + CamReqSofttimeout = 0x1f, /* * 0x20 - 0x32 are unassigned */ /// Initiator Detected Error - CAM_IDE = 0x33, + CamIde = 0x33, /// Resource Unavailable - CAM_RESRC_UNAVAIL = 0x34, + CamResrcUnavail = 0x34, /// Unacknowledged Event by Host - CAM_UNACKED_EVENT = 0x35, + CamUnackedEvent = 0x35, /// Message Received in Host Target Mode - CAM_MESSAGE_RECV = 0x36, + CamMessageRecv = 0x36, /// Invalid CDB received in Host Target Mode - CAM_INVALID_CDB = 0x37, + CamInvalidCdb = 0x37, /// Lun supplied is invalid - CAM_LUN_INVALID = 0x38, + CamLunInvalid = 0x38, /// Target ID supplied is invalid - CAM_TID_INVALID = 0x39, + CamTidInvalid = 0x39, /// The requested function is not available - CAM_FUNC_NOTAVAIL = 0x3a, + CamFuncNotavail = 0x3a, /// Nexus is not established - CAM_NO_NEXUS = 0x3b, + CamNoNexus = 0x3b, /// The initiator ID is invalid - CAM_IID_INVALID = 0x3c, + CamIidInvalid = 0x3c, /// The SCSI CDB has been received - CAM_CDB_RECVD = 0x3d, + CamCdbRecvd = 0x3d, /// The LUN is already enabled for target mode - CAM_LUN_ALRDY_ENA = 0x3e, + CamLunAlrdyEna = 0x3e, /// SCSI Bus Busy - CAM_SCSI_BUSY = 0x3f, + CamScsiBusy = 0x3f, /* * Flags */ /// The DEV queue is frozen w/this err - CAM_DEV_QFRZN = 0x40, + CamDevQfrzn = 0x40, /// Autosense data valid for target - CAM_AUTOSNS_VALID = 0x80, + CamAutosnsValid = 0x80, /// SIM ready to take more commands - CAM_RELEASE_SIMQ = 0x100, + CamReleaseSimq = 0x100, /// SIM has this command in its queue - CAM_SIM_QUEUED = 0x200, + CamSimQueued = 0x200, /// Quality of service data is valid - CAM_QOS_VALID = 0x400, + CamQosValid = 0x400, /// Mask bits for just the status # - CAM_STATUS_MASK = 0x3F, + CamStatusMask = 0x3F, /* * Target Specific Adjunct Status */ /// sent sense with status - CAM_SENT_SENSE = 0x40000000 + CamSentSense = 0x40000000 } } \ No newline at end of file diff --git a/DiscImageChef.Devices/FreeBSD/ListDevices.cs b/DiscImageChef.Devices/FreeBSD/ListDevices.cs index fc5b3a66b..317a20eb9 100644 --- a/DiscImageChef.Devices/FreeBSD/ListDevices.cs +++ b/DiscImageChef.Devices/FreeBSD/ListDevices.cs @@ -50,15 +50,15 @@ namespace DiscImageChef.Devices.FreeBSD { DeviceInfo deviceInfo = new DeviceInfo(); IntPtr dev = cam_open_device(passDevice, FileFlags.ReadWrite); - cam_device camDevice = (cam_device)Marshal.PtrToStructure(dev, typeof(cam_device)); + CamDevice camDevice = (CamDevice)Marshal.PtrToStructure(dev, typeof(CamDevice)); IntPtr ccbPtr = cam_getccb(dev); if(ccbPtr.ToInt64() == 0) continue; - ccb_getdev cgd = (ccb_getdev)Marshal.PtrToStructure(ccbPtr, typeof(ccb_getdev)); + CcbGetdev cgd = (CcbGetdev)Marshal.PtrToStructure(ccbPtr, typeof(CcbGetdev)); - cgd.ccb_h.func_code = xpt_opcode.XPT_GDEV_TYPE; + cgd.ccb_h.func_code = XptOpcode.XptGdevType; Marshal.StructureToPtr(cgd, ccbPtr, false); @@ -70,22 +70,22 @@ namespace DiscImageChef.Devices.FreeBSD continue; } - cgd = (ccb_getdev)Marshal.PtrToStructure(ccbPtr, typeof(ccb_getdev)); + cgd = (CcbGetdev)Marshal.PtrToStructure(ccbPtr, typeof(CcbGetdev)); cam_freeccb(ccbPtr); cam_close_device(dev); - string simName = StringHandlers.CToString(camDevice.sim_name); - deviceInfo.path = passDevice; - byte[] serialNumber = new byte[camDevice.serial_num_len]; - Array.Copy(camDevice.serial_num, 0, serialNumber, 0, serialNumber.Length); - deviceInfo.serial = StringHandlers.CToString(serialNumber); + string simName = StringHandlers.CToString(camDevice.SimName); + deviceInfo.Path = passDevice; + byte[] serialNumber = new byte[camDevice.SerialNumLen]; + Array.Copy(camDevice.SerialNum, 0, serialNumber, 0, serialNumber.Length); + deviceInfo.Serial = StringHandlers.CToString(serialNumber); switch(cgd.protocol) { - case cam_proto.PROTO_ATA: - case cam_proto.PROTO_ATAPI: - case cam_proto.PROTO_SATAPM: + case CamProto.ProtoAta: + case CamProto.ProtoAtapi: + case CamProto.ProtoSatapm: { // Little-endian FreeBSD gives it resorted // Big-endian FreeBSD, no idea @@ -103,49 +103,49 @@ namespace DiscImageChef.Devices.FreeBSD if(separated.Length == 1) { - deviceInfo.vendor = "ATA"; - deviceInfo.model = separated[0]; + deviceInfo.Vendor = "ATA"; + deviceInfo.Model = separated[0]; } else { - deviceInfo.vendor = separated[0]; - deviceInfo.model = separated[separated.Length - 1]; + deviceInfo.Vendor = separated[0]; + deviceInfo.Model = separated[separated.Length - 1]; } - deviceInfo.serial = idt.Value.SerialNumber; - deviceInfo.bus = simName == "ahcich" ? "SATA" : "ATA"; - deviceInfo.supported = simName != "ata"; + deviceInfo.Serial = idt.Value.SerialNumber; + deviceInfo.Bus = simName == "ahcich" ? "SATA" : "ATA"; + deviceInfo.Supported = simName != "ata"; } - if(cgd.protocol == cam_proto.PROTO_ATAPI) goto case cam_proto.PROTO_SCSI; + if(cgd.protocol == CamProto.ProtoAtapi) goto case CamProto.ProtoScsi; break; } - case cam_proto.PROTO_SCSI: + case CamProto.ProtoScsi: { Decoders.SCSI.Inquiry.SCSIInquiry? inq = Decoders.SCSI.Inquiry.Decode(cgd.inq_data); if(inq.HasValue) { - deviceInfo.vendor = StringHandlers.CToString(inq.Value.VendorIdentification).Trim(); - deviceInfo.model = StringHandlers.CToString(inq.Value.ProductIdentification).Trim(); - deviceInfo.bus = simName == "ata" || simName == "ahcich" ? "ATAPI" : "SCSI"; - deviceInfo.supported = simName != "ata"; + deviceInfo.Vendor = StringHandlers.CToString(inq.Value.VendorIdentification).Trim(); + deviceInfo.Model = StringHandlers.CToString(inq.Value.ProductIdentification).Trim(); + deviceInfo.Bus = simName == "ata" || simName == "ahcich" ? "ATAPI" : "SCSI"; + deviceInfo.Supported = simName != "ata"; } break; } - case cam_proto.PROTO_NVME: - deviceInfo.bus = "NVMe"; - deviceInfo.supported = false; + case CamProto.ProtoNvme: + deviceInfo.Bus = "NVMe"; + deviceInfo.Supported = false; break; - case cam_proto.PROTO_MMCSD: - deviceInfo.model = "Unknown card"; - deviceInfo.bus = "MMC/SD"; - deviceInfo.supported = false; + case CamProto.ProtoMmcsd: + deviceInfo.Model = "Unknown card"; + deviceInfo.Bus = "MMC/SD"; + deviceInfo.Supported = false; break; } listDevices.Add(deviceInfo); } - return listDevices.Count > 0 ? listDevices.OrderBy(t => t.path).ToArray() : null; + return listDevices.Count > 0 ? listDevices.OrderBy(t => t.Path).ToArray() : null; } } } \ No newline at end of file diff --git a/DiscImageChef.Devices/FreeBSD/Structs.cs b/DiscImageChef.Devices/FreeBSD/Structs.cs index 307899ed1..c0fe8fa02 100644 --- a/DiscImageChef.Devices/FreeBSD/Structs.cs +++ b/DiscImageChef.Devices/FreeBSD/Structs.cs @@ -40,7 +40,7 @@ using target_id_t = System.UInt32; namespace DiscImageChef.Devices.FreeBSD { [StructLayout(LayoutKind.Sequential)] - struct ata_cmd + struct AtaCmd { public CamAtaIoFlags flags; public byte command; @@ -59,7 +59,7 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct ata_res + struct AtaRes { public CamAtaIoFlags flags; public byte status; @@ -76,64 +76,64 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct cam_pinfo + struct CamPinfo { public uint priority; public uint generation; public int index; } - struct LIST_ENTRY + struct ListEntry { /// /// LIST_ENTRY(ccb_hdr)=le->*le_next /// - public IntPtr le_next; + public IntPtr LeNext; /// /// LIST_ENTRY(ccb_hdr)=le->**le_prev /// - public IntPtr le_prev; + public IntPtr LePrev; } - struct SLIST_ENTRY + struct SlistEntry { /// /// SLIST_ENTRY(ccb_hdr)=sle->*sle_next /// - public IntPtr sle_next; + public IntPtr SleNext; } - struct TAILQ_ENTRY + struct TailqEntry { /// /// TAILQ_ENTRY(ccb_hdr)=tqe->*tqe_next /// - public IntPtr tqe_next; + public IntPtr TqeNext; /// /// TAILQ_ENTRY(ccb_hdr)=tqe->**tqe_prev /// - public IntPtr tqe_prev; + public IntPtr TqePrev; } - struct STAILQ_ENTRY + struct StailqEntry { /// /// STAILQ_ENTRY(ccb_hdr)=stqe->*stqe_next /// - public IntPtr stqe_next; + public IntPtr StqeNext; } [StructLayout(LayoutKind.Explicit)] - struct camq_entry + struct CamqEntry { - [FieldOffset(0)] public LIST_ENTRY le; - [FieldOffset(0)] public SLIST_ENTRY sle; - [FieldOffset(0)] public TAILQ_ENTRY tqe; - [FieldOffset(0)] public STAILQ_ENTRY stqe; + [FieldOffset(0)] public ListEntry le; + [FieldOffset(0)] public SlistEntry sle; + [FieldOffset(0)] public TailqEntry tqe; + [FieldOffset(0)] public StailqEntry stqe; } [StructLayout(LayoutKind.Sequential)] - struct timeval + struct Timeval { public long tv_sec; /// long @@ -141,39 +141,39 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct ccb_qos_area + struct CcbQosArea { - public timeval etime; + public Timeval etime; public UIntPtr sim_data; public UIntPtr periph_data; } [StructLayout(LayoutKind.Sequential)] - struct ccb_hdr + struct CcbHdr { - public cam_pinfo pinfo; - public camq_entry xpt_links; - public camq_entry sim_links; - public camq_entry periph_links; + public CamPinfo pinfo; + public CamqEntry xpt_links; + public CamqEntry sim_links; + public CamqEntry periph_links; public uint retry_count; public IntPtr cbfcnp; - public xpt_opcode func_code; - public cam_status status; + public XptOpcode func_code; + public CamStatus status; public IntPtr path; public uint path_id; public uint target_id; public ulong target_lun; - public ccb_flags flags; + public CcbFlags flags; public uint xflags; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public IntPtr[] periph_priv; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public IntPtr[] sim_priv; - public ccb_qos_area qos; + public CcbQosArea qos; public uint timeout; - public timeval softtimeout; + public Timeval softtimeout; } [StructLayout(LayoutKind.Sequential)] - struct scsi_sense_data + struct ScsiSenseData { const int SSD_FULL_SIZE = 252; public byte error_code; @@ -184,9 +184,9 @@ namespace DiscImageChef.Devices.FreeBSD /// SCSI I/O Request CCB used for the XPT_SCSI_IO and XPT_CONT_TARGET_IO function codes. /// [StructLayout(LayoutKind.Sequential)] - struct ccb_scsiio + struct CcbScsiio { - public ccb_hdr ccb_h; + public CcbHdr ccb_h; /// Ptr for next CCB for action public IntPtr next_ccb; /// Ptr to mapping info @@ -196,7 +196,7 @@ namespace DiscImageChef.Devices.FreeBSD /// Data transfer length public uint dxfer_len; /// Autosense storage - public scsi_sense_data sense_data; + public ScsiSenseData sense_data; /// Number of bytes to autosense public byte sense_len; /// Number of bytes for the CDB @@ -230,9 +230,9 @@ namespace DiscImageChef.Devices.FreeBSD /// SCSI I/O Request CCB used for the XPT_SCSI_IO and XPT_CONT_TARGET_IO function codes. /// [StructLayout(LayoutKind.Sequential)] - struct ccb_scsiio64 + struct CcbScsiio64 { - public ccb_hdr ccb_h; + public CcbHdr ccb_h; /// Ptr for next CCB for action public IntPtr next_ccb; /// Ptr to mapping info @@ -242,7 +242,7 @@ namespace DiscImageChef.Devices.FreeBSD /// Data transfer length public uint dxfer_len; /// Autosense storage - public scsi_sense_data sense_data; + public ScsiSenseData sense_data; /// Number of bytes to autosense public byte sense_len; /// Number of bytes for the CDB @@ -277,15 +277,15 @@ namespace DiscImageChef.Devices.FreeBSD /// ATA I/O Request CCB used for the XPT_ATA_IO function code. /// [StructLayout(LayoutKind.Sequential)] - struct ccb_ataio + struct CcbAtaio { - public ccb_hdr ccb_h; + public CcbHdr ccb_h; /// Ptr for next CCB for action public IntPtr next_ccb; /// ATA command register set - public ata_cmd cmd; + public AtaCmd cmd; /// ATA result register set - public ata_res res; + public AtaRes res; /// Ptr to the data buf/SG list public IntPtr data_ptr; /// Data transfer length @@ -299,7 +299,7 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct nvme_command + struct NvmeCommand { private ushort opc_fuse_rsvd1; /// @@ -358,55 +358,55 @@ namespace DiscImageChef.Devices.FreeBSD /// /// opcode /// - public byte opc => (byte)((opc_fuse_rsvd1 & 0xFF00) >> 8); + public byte Opc => (byte)((opc_fuse_rsvd1 & 0xFF00) >> 8); /// /// fused operation /// - public byte fuse => (byte)((opc_fuse_rsvd1 & 0xC0) >> 6); + public byte Fuse => (byte)((opc_fuse_rsvd1 & 0xC0) >> 6); /// /// reserved /// - public byte rsvd1 => (byte)(opc_fuse_rsvd1 & 0x3F); + public byte Rsvd1 => (byte)(opc_fuse_rsvd1 & 0x3F); } [StructLayout(LayoutKind.Sequential)] - struct nvme_status + struct NvmeStatus { private ushort status; /// /// phase tag /// - public byte p => (byte)((status & 0x8000) >> 15); + public byte P => (byte)((status & 0x8000) >> 15); /// /// status code /// - public byte sc => (byte)((status & 0x7F80) >> 7); + public byte Sc => (byte)((status & 0x7F80) >> 7); /// /// status code type /// - public byte sct => (byte)((status & 0x70) >> 4); + public byte Sct => (byte)((status & 0x70) >> 4); /// /// reserved /// - public byte rsvd2 => (byte)((status & 0xC) >> 15); + public byte Rsvd2 => (byte)((status & 0xC) >> 15); /// /// more /// - public byte m => (byte)((status & 0x2) >> 1); + public byte M => (byte)((status & 0x2) >> 1); /// /// do not retry /// - public byte dnr => (byte)(status & 0x1); + public byte Dnr => (byte)(status & 0x1); } [StructLayout(LayoutKind.Sequential)] - struct nvme_completion + struct NvmeCompletion { /// /// command-specific @@ -433,22 +433,22 @@ namespace DiscImageChef.Devices.FreeBSD /// public ushort cid; - public nvme_status status; + public NvmeStatus status; } /// /// NVMe I/O Request CCB used for the XPT_NVME_IO and XPT_NVME_ADMIN function codes. /// [StructLayout(LayoutKind.Sequential)] - struct ccb_nvmeio + struct CcbNvmeio { - public ccb_hdr ccb_h; + public CcbHdr ccb_h; /// Ptr for next CCB for action public IntPtr next_ccb; /// NVME command, per NVME standard - public nvme_command cmd; + public NvmeCommand cmd; /// NVME completion, per NVME standard - public nvme_completion cpl; + public NvmeCompletion cpl; /// Ptr to the data buf/SG list public IntPtr data_ptr; /// Data transfer length @@ -460,7 +460,7 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct periph_match_pattern + struct PeriphMatchPattern { private const int DEV_IDLEN = 16; @@ -469,18 +469,18 @@ namespace DiscImageChef.Devices.FreeBSD public path_id_t path_id; public target_id_t target_id; public lun_id_t target_lun; - public periph_pattern_flags flags; + public PeriphPatternFlags flags; } [StructLayout(LayoutKind.Sequential)] - struct device_id_match_pattern + struct DeviceIdMatchPattern { public byte id_len; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public byte[] id; } [StructLayout(LayoutKind.Sequential)] - struct scsi_static_inquiry_pattern + struct ScsiStaticInquiryPattern { private const int SID_VENDOR_SIZE = 8; private const int SID_PRODUCT_SIZE = 16; @@ -493,24 +493,24 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Explicit)] - struct device_match_pattern_data + struct DeviceMatchPatternData { - [FieldOffset(0)] public scsi_static_inquiry_pattern inq_pat; - [FieldOffset(0)] public device_id_match_pattern devid_pat; + [FieldOffset(0)] public ScsiStaticInquiryPattern inq_pat; + [FieldOffset(0)] public DeviceIdMatchPattern devid_pat; } [StructLayout(LayoutKind.Sequential)] - struct device_match_pattern + struct DeviceMatchPattern { public path_id_t path_id; public target_id_t target_id; public lun_id_t target_lun; - public dev_pattern_flags flags; - public device_match_pattern_data data; + public DevPatternFlags flags; + public DeviceMatchPatternData data; } [StructLayout(LayoutKind.Sequential)] - struct bus_match_pattern + struct BusMatchPattern { private const int DEV_IDLEN = 16; @@ -518,26 +518,26 @@ namespace DiscImageChef.Devices.FreeBSD [MarshalAs(UnmanagedType.ByValArray, SizeConst = DEV_IDLEN)] public byte[] dev_name; public uint unit_number; public uint bus_id; - bus_pattern_flags flags; + BusPatternFlags flags; } [StructLayout(LayoutKind.Explicit)] - struct match_pattern + struct MatchPattern { - [FieldOffset(0)] public periph_match_pattern periph_pattern; - [FieldOffset(0)] public device_match_pattern device_pattern; - [FieldOffset(0)] public bus_match_pattern bus_pattern; + [FieldOffset(0)] public PeriphMatchPattern periph_pattern; + [FieldOffset(0)] public DeviceMatchPattern device_pattern; + [FieldOffset(0)] public BusMatchPattern bus_pattern; } [StructLayout(LayoutKind.Sequential)] - struct dev_match_pattern + struct DevMatchPattern { - public dev_match_type type; - public match_pattern pattern; + public DevMatchType type; + public MatchPattern pattern; } [StructLayout(LayoutKind.Sequential)] - struct periph_match_result + struct PeriphMatchResult { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] periph_name; public uint unit_number; @@ -547,7 +547,7 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct mmc_cid + struct MmcCid { public uint mid; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public byte[] pnm; @@ -560,7 +560,7 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct mmc_params + struct MmcParams { /// /// Card model @@ -585,7 +585,7 @@ namespace DiscImageChef.Devices.FreeBSD /// /// Card CID -- parsed /// - public mmc_cid cid; + public MmcCid cid; /// /// Card CSD -- raw @@ -600,26 +600,26 @@ namespace DiscImageChef.Devices.FreeBSD /// /// What kind of card is it /// - public mmc_card_features card_features; + public MmcCardFeatures card_features; public byte sdio_func_count; } [StructLayout(LayoutKind.Sequential)] - struct device_match_result + struct DeviceMatchResult { public path_id_t path_id; public target_id_t target_id; public lun_id_t target_lun; - public cam_proto protocol; + public CamProto protocol; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public byte[] inq_data; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)] public byte[] ident_data; - public dev_result_flags flags; - public mmc_params mmc_ident_data; + public DevResultFlags flags; + public MmcParams mmc_ident_data; } [StructLayout(LayoutKind.Sequential)] - struct bus_match_result + struct BusMatchResult { public path_id_t path_id; private const int DEV_IDLEN = 16; @@ -629,22 +629,22 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Explicit)] - struct match_result + struct MatchResult { - [FieldOffset(0)] public periph_match_result periph_result; - [FieldOffset(0)] public device_match_result device_result; - [FieldOffset(0)] public bus_match_result bus_result; + [FieldOffset(0)] public PeriphMatchResult periph_result; + [FieldOffset(0)] public DeviceMatchResult device_result; + [FieldOffset(0)] public BusMatchResult bus_result; } [StructLayout(LayoutKind.Sequential)] - struct dev_match_result + struct DevMatchResult { - public dev_match_type type; - public match_result result; + public DevMatchType type; + public MatchResult result; } [StructLayout(LayoutKind.Sequential)] - struct ccb_dm_cookie + struct CcbDmCookie { public IntPtr bus; public IntPtr target; @@ -654,18 +654,18 @@ namespace DiscImageChef.Devices.FreeBSD } [StructLayout(LayoutKind.Sequential)] - struct ccb_dev_position + struct CcbDevPosition { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public cam_generations[] generations; - dev_pos_type position_type; - public ccb_dm_cookie cookie; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public CamGenerations[] generations; + DevPosType position_type; + public CcbDmCookie cookie; } [StructLayout(LayoutKind.Sequential)] - struct ccb_dev_match + struct CcbDevMatch { - public ccb_hdr ccb_h; - ccb_dev_match_status status; + public CcbHdr ccb_h; + CcbDevMatchStatus status; public uint num_patterns; public uint pattern_buf_len; @@ -682,10 +682,10 @@ namespace DiscImageChef.Devices.FreeBSD /// public IntPtr matches; - public ccb_dev_position pos; + public CcbDevPosition pos; } - struct cam_device + struct CamDevice { private const int MAXPATHLEN = 1024; private const int DEV_IDLEN = 16; @@ -693,86 +693,86 @@ namespace DiscImageChef.Devices.FreeBSD /// /// Pathname of the device given by the user. This may be null if the user states the device name and unit number separately. /// - [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAXPATHLEN)] public byte[] device_path; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAXPATHLEN)] public byte[] DevicePath; /// /// Device name given by the user. /// - [MarshalAs(UnmanagedType.ByValArray, SizeConst = DEV_IDLEN + 1)] public byte[] given_dev_name; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = DEV_IDLEN + 1)] public byte[] GivenDevName; /// /// Unit number given by the user. /// - public uint given_unit_number; + public uint GivenUnitNumber; /// /// Name of the device, e.g. 'pass' /// - [MarshalAs(UnmanagedType.ByValArray, SizeConst = DEV_IDLEN + 1)] public byte[] device_name; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = DEV_IDLEN + 1)] public byte[] DeviceName; /// /// Unit number of the passthrough device associated with this particular device. /// - public uint dev_unit_num; + public uint DevUnitNum; /// /// Controller name, e.g. 'ahc' /// - [MarshalAs(UnmanagedType.ByValArray, SizeConst = SIM_IDLEN + 1)] public byte[] sim_name; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = SIM_IDLEN + 1)] public byte[] SimName; /// /// Controller unit number /// - public uint sim_unit_number; + public uint SimUnitNumber; /// /// Controller bus number /// - public uint bus_id; + public uint BusId; /// /// Logical Unit Number /// - public lun_id_t target_lun; + public lun_id_t TargetLun; /// /// Target ID /// - public target_id_t target_id; + public target_id_t TargetId; /// /// System SCSI bus number /// - public path_id_t path_id; + public path_id_t PathId; /// /// type of peripheral device /// - public ushort pd_type; + public ushort PdType; /// /// SCSI Inquiry data /// - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public byte[] inq_data; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public byte[] InqData; /// /// device serial number /// - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 252)] public byte[] serial_num; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 252)] public byte[] SerialNum; /// /// length of the serial number /// - public byte serial_num_len; + public byte SerialNumLen; /// /// Negotiated sync period /// - public byte sync_period; + public byte SyncPeriod; /// /// Negotiated sync offset /// - public byte sync_offset; + public byte SyncOffset; /// /// Negotiated bus width /// - public byte bus_width; + public byte BusWidth; /// /// file descriptor for device /// - public int fd; + public int Fd; } [StructLayout(LayoutKind.Sequential)] - struct ccb_getdev + struct CcbGetdev { - public ccb_hdr ccb_h; - public cam_proto protocol; + public CcbHdr ccb_h; + public CamProto protocol; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public byte[] inq_data; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)] public byte[] ident_data; /// diff --git a/DiscImageChef.Devices/Linux/Command.cs b/DiscImageChef.Devices/Linux/Command.cs index 290c0240a..021bbb0c8 100644 --- a/DiscImageChef.Devices/Linux/Command.cs +++ b/DiscImageChef.Devices/Linux/Command.cs @@ -60,42 +60,42 @@ namespace DiscImageChef.Devices.Linux if(buffer == null) return -1; - sg_io_hdr_t io_hdr = new sg_io_hdr_t(); + SgIoHdrT ioHdr = new SgIoHdrT(); senseBuffer = new byte[32]; - io_hdr.interface_id = 'S'; - io_hdr.cmd_len = (byte)cdb.Length; - io_hdr.mx_sb_len = (byte)senseBuffer.Length; - io_hdr.dxfer_direction = direction; - io_hdr.dxfer_len = (uint)buffer.Length; - io_hdr.dxferp = Marshal.AllocHGlobal(buffer.Length); - io_hdr.cmdp = Marshal.AllocHGlobal(cdb.Length); - io_hdr.sbp = Marshal.AllocHGlobal(senseBuffer.Length); - io_hdr.timeout = timeout * 1000; + ioHdr.interface_id = 'S'; + ioHdr.cmd_len = (byte)cdb.Length; + ioHdr.mx_sb_len = (byte)senseBuffer.Length; + ioHdr.dxfer_direction = direction; + ioHdr.dxfer_len = (uint)buffer.Length; + ioHdr.dxferp = Marshal.AllocHGlobal(buffer.Length); + ioHdr.cmdp = Marshal.AllocHGlobal(cdb.Length); + ioHdr.sbp = Marshal.AllocHGlobal(senseBuffer.Length); + ioHdr.timeout = timeout * 1000; - Marshal.Copy(buffer, 0, io_hdr.dxferp, buffer.Length); - Marshal.Copy(cdb, 0, io_hdr.cmdp, cdb.Length); - Marshal.Copy(senseBuffer, 0, io_hdr.sbp, senseBuffer.Length); + Marshal.Copy(buffer, 0, ioHdr.dxferp, buffer.Length); + Marshal.Copy(cdb, 0, ioHdr.cmdp, cdb.Length); + Marshal.Copy(senseBuffer, 0, ioHdr.sbp, senseBuffer.Length); DateTime start = DateTime.UtcNow; - int error = Extern.ioctlSg(fd, LinuxIoctl.SG_IO, ref io_hdr); + int error = Extern.ioctlSg(fd, LinuxIoctl.SgIo, ref ioHdr); DateTime end = DateTime.UtcNow; if(error < 0) error = Marshal.GetLastWin32Error(); - Marshal.Copy(io_hdr.dxferp, buffer, 0, buffer.Length); - Marshal.Copy(io_hdr.cmdp, cdb, 0, cdb.Length); - Marshal.Copy(io_hdr.sbp, senseBuffer, 0, senseBuffer.Length); + Marshal.Copy(ioHdr.dxferp, buffer, 0, buffer.Length); + Marshal.Copy(ioHdr.cmdp, cdb, 0, cdb.Length); + Marshal.Copy(ioHdr.sbp, senseBuffer, 0, senseBuffer.Length); - sense |= (io_hdr.info & SgInfo.OkMask) != SgInfo.Ok; + sense |= (ioHdr.info & SgInfo.OkMask) != SgInfo.Ok; - if(io_hdr.duration > 0) duration = io_hdr.duration; + if(ioHdr.duration > 0) duration = ioHdr.duration; else duration = (end - start).TotalMilliseconds; - Marshal.FreeHGlobal(io_hdr.dxferp); - Marshal.FreeHGlobal(io_hdr.cmdp); - Marshal.FreeHGlobal(io_hdr.sbp); + Marshal.FreeHGlobal(ioHdr.dxferp); + Marshal.FreeHGlobal(ioHdr.cmdp); + Marshal.FreeHGlobal(ioHdr.sbp); return error; } @@ -339,28 +339,28 @@ namespace DiscImageChef.Devices.Linux if(buffer == null) return -1; - mmc_ioc_cmd io_cmd = new mmc_ioc_cmd(); + MmcIocCmd ioCmd = new MmcIocCmd(); IntPtr bufPtr = Marshal.AllocHGlobal(buffer.Length); - io_cmd.write_flag = write; - io_cmd.is_ascmd = isApplication; - io_cmd.opcode = (uint)command; - io_cmd.arg = argument; - io_cmd.flags = flags; - io_cmd.blksz = blockSize; - io_cmd.blocks = blocks; + ioCmd.write_flag = write; + ioCmd.is_ascmd = isApplication; + ioCmd.opcode = (uint)command; + ioCmd.arg = argument; + ioCmd.flags = flags; + ioCmd.blksz = blockSize; + ioCmd.blocks = blocks; if(timeout > 0) { - io_cmd.data_timeout_ns = timeout * 1000000000; - io_cmd.cmd_timeout_ms = timeout * 1000; + ioCmd.data_timeout_ns = timeout * 1000000000; + ioCmd.cmd_timeout_ms = timeout * 1000; } - io_cmd.data_ptr = (ulong)bufPtr; + ioCmd.data_ptr = (ulong)bufPtr; Marshal.Copy(buffer, 0, bufPtr, buffer.Length); DateTime start = DateTime.UtcNow; - int error = Extern.ioctlMmc(fd, LinuxIoctl.MMC_IOC_CMD, ref io_cmd); + int error = Extern.ioctlMmc(fd, LinuxIoctl.MmcIocCmd, ref ioCmd); DateTime end = DateTime.UtcNow; sense |= error < 0; @@ -369,7 +369,7 @@ namespace DiscImageChef.Devices.Linux Marshal.Copy(bufPtr, buffer, 0, buffer.Length); - response = io_cmd.response; + response = ioCmd.response; duration = (end - start).TotalMilliseconds; Marshal.FreeHGlobal(bufPtr); diff --git a/DiscImageChef.Devices/Linux/Enums.cs b/DiscImageChef.Devices/Linux/Enums.cs index 52c010a4e..1723b3674 100644 --- a/DiscImageChef.Devices/Linux/Enums.cs +++ b/DiscImageChef.Devices/Linux/Enums.cs @@ -61,7 +61,7 @@ namespace DiscImageChef.Devices.Linux /// /// O_NOCTTY /// - NoControlTTY = 00000400, + NoControlTty = 00000400, /// /// O_TRUNC /// @@ -143,10 +143,10 @@ namespace DiscImageChef.Devices.Linux enum LinuxIoctl : uint { // SCSI IOCtls - SG_GET_VERSION_NUM = 0x2282, - SG_IO = 0x2285, + SgGetVersionNum = 0x2282, + SgIo = 0x2285, // MMC IOCtl - MMC_IOC_CMD = 0xC048B300 + MmcIocCmd = 0xC048B300 } [Flags] diff --git a/DiscImageChef.Devices/Linux/Extern.cs b/DiscImageChef.Devices/Linux/Extern.cs index 36a867235..9da5744df 100644 --- a/DiscImageChef.Devices/Linux/Extern.cs +++ b/DiscImageChef.Devices/Linux/Extern.cs @@ -48,10 +48,10 @@ namespace DiscImageChef.Devices.Linux internal static extern int ioctlInt(int fd, LinuxIoctl request, out int value); [DllImport("libc", EntryPoint = "ioctl", SetLastError = true)] - internal static extern int ioctlSg(int fd, LinuxIoctl request, ref sg_io_hdr_t value); + internal static extern int ioctlSg(int fd, LinuxIoctl request, ref SgIoHdrT value); [DllImport("libc", EntryPoint = "ioctl", SetLastError = true)] - internal static extern int ioctlMmc(int fd, LinuxIoctl request, ref mmc_ioc_cmd value); + internal static extern int ioctlMmc(int fd, LinuxIoctl request, ref MmcIocCmd value); [DllImport("libc", CharSet = CharSet.Ansi, SetLastError = true)] internal static extern int readlink(string path, System.IntPtr buf, int bufsize); @@ -67,6 +67,6 @@ namespace DiscImageChef.Devices.Linux IntPtr udev, string subsystem, string sysname); [DllImport("libudev", CharSet = CharSet.Ansi, SetLastError = true)] - internal static extern string udev_device_get_property_value(IntPtr udev_device, string key); + internal static extern string udev_device_get_property_value(IntPtr udevDevice, string key); } } \ No newline at end of file diff --git a/DiscImageChef.Devices/Linux/ListDevices.cs b/DiscImageChef.Devices/Linux/ListDevices.cs index d0e14c7eb..91729b41f 100644 --- a/DiscImageChef.Devices/Linux/ListDevices.cs +++ b/DiscImageChef.Devices/Linux/ListDevices.cs @@ -60,70 +60,70 @@ namespace DiscImageChef.Devices.Linux for(int i = 0; i < sysdevs.Length; i++) { devices[i] = new DeviceInfo(); - devices[i].path = "/dev/" + Path.GetFileName(sysdevs[i]); + devices[i].Path = "/dev/" + Path.GetFileName(sysdevs[i]); if(hasUdev) { udevDev = Extern.udev_device_new_from_subsystem_sysname(udev, "block", Path.GetFileName(sysdevs[i])); - devices[i].vendor = Extern.udev_device_get_property_value(udevDev, "ID_VENDOR"); - devices[i].model = Extern.udev_device_get_property_value(udevDev, "ID_MODEL"); - if(!string.IsNullOrEmpty(devices[i].model)) devices[i].model = devices[i].model.Replace('_', ' '); - devices[i].serial = Extern.udev_device_get_property_value(udevDev, "ID_SCSI_SERIAL"); - if(string.IsNullOrEmpty(devices[i].serial)) - devices[i].serial = Extern.udev_device_get_property_value(udevDev, "ID_SERIAL_SHORT"); - devices[i].bus = Extern.udev_device_get_property_value(udevDev, "ID_BUS"); + devices[i].Vendor = Extern.udev_device_get_property_value(udevDev, "ID_VENDOR"); + devices[i].Model = Extern.udev_device_get_property_value(udevDev, "ID_MODEL"); + if(!string.IsNullOrEmpty(devices[i].Model)) devices[i].Model = devices[i].Model.Replace('_', ' '); + devices[i].Serial = Extern.udev_device_get_property_value(udevDev, "ID_SCSI_SERIAL"); + if(string.IsNullOrEmpty(devices[i].Serial)) + devices[i].Serial = Extern.udev_device_get_property_value(udevDev, "ID_SERIAL_SHORT"); + devices[i].Bus = Extern.udev_device_get_property_value(udevDev, "ID_BUS"); } - if(File.Exists(Path.Combine(sysdevs[i], "device/vendor")) && string.IsNullOrEmpty(devices[i].vendor)) + if(File.Exists(Path.Combine(sysdevs[i], "device/vendor")) && string.IsNullOrEmpty(devices[i].Vendor)) { sr = new StreamReader(Path.Combine(sysdevs[i], "device/vendor"), Encoding.ASCII); - devices[i].vendor = sr.ReadLine().Trim(); + devices[i].Vendor = sr.ReadLine().Trim(); } - else if(devices[i].path.StartsWith("/dev/loop", StringComparison.CurrentCulture)) - devices[i].vendor = "Linux"; + else if(devices[i].Path.StartsWith("/dev/loop", StringComparison.CurrentCulture)) + devices[i].Vendor = "Linux"; if(File.Exists(Path.Combine(sysdevs[i], "device/model")) && - (string.IsNullOrEmpty(devices[i].model) || devices[i].bus == "ata")) + (string.IsNullOrEmpty(devices[i].Model) || devices[i].Bus == "ata")) { sr = new StreamReader(Path.Combine(sysdevs[i], "device/model"), Encoding.ASCII); - devices[i].model = sr.ReadLine().Trim(); + devices[i].Model = sr.ReadLine().Trim(); } - else if(devices[i].path.StartsWith("/dev/loop", StringComparison.CurrentCulture)) - devices[i].model = "Linux"; + else if(devices[i].Path.StartsWith("/dev/loop", StringComparison.CurrentCulture)) + devices[i].Model = "Linux"; - if(File.Exists(Path.Combine(sysdevs[i], "device/serial")) && string.IsNullOrEmpty(devices[i].serial)) + if(File.Exists(Path.Combine(sysdevs[i], "device/serial")) && string.IsNullOrEmpty(devices[i].Serial)) { sr = new StreamReader(Path.Combine(sysdevs[i], "device/serial"), Encoding.ASCII); - devices[i].serial = sr.ReadLine().Trim(); + devices[i].Serial = sr.ReadLine().Trim(); } - if(string.IsNullOrEmpty(devices[i].vendor) || devices[i].vendor == "ATA") + if(string.IsNullOrEmpty(devices[i].Vendor) || devices[i].Vendor == "ATA") { - if(devices[i].model != null) + if(devices[i].Model != null) { - string[] pieces = devices[i].model.Split(' '); + string[] pieces = devices[i].Model.Split(' '); if(pieces.Length > 1) { - devices[i].vendor = pieces[0]; - devices[i].model = devices[i].model.Substring(pieces[0].Length + 1); + devices[i].Vendor = pieces[0]; + devices[i].Model = devices[i].Model.Substring(pieces[0].Length + 1); } } } // TODO: Get better device type from sysfs paths - if(string.IsNullOrEmpty(devices[i].bus)) + if(string.IsNullOrEmpty(devices[i].Bus)) { - if(devices[i].path.StartsWith("/dev/loop", StringComparison.CurrentCulture)) - devices[i].bus = "loop"; - else if(devices[i].path.StartsWith("/dev/nvme", StringComparison.CurrentCulture)) - devices[i].bus = "NVMe"; - else if(devices[i].path.StartsWith("/dev/mmc", StringComparison.CurrentCulture)) - devices[i].bus = "MMC/SD"; + if(devices[i].Path.StartsWith("/dev/loop", StringComparison.CurrentCulture)) + devices[i].Bus = "loop"; + else if(devices[i].Path.StartsWith("/dev/nvme", StringComparison.CurrentCulture)) + devices[i].Bus = "NVMe"; + else if(devices[i].Path.StartsWith("/dev/mmc", StringComparison.CurrentCulture)) + devices[i].Bus = "MMC/SD"; } - else devices[i].bus = devices[i].bus.ToUpper(); + else devices[i].Bus = devices[i].Bus.ToUpper(); - switch(devices[i].bus) + switch(devices[i].Bus) { case "ATA": case "ATAPI": @@ -132,7 +132,7 @@ namespace DiscImageChef.Devices.Linux case "PCMCIA": case "FireWire": case "MMC/SD": - devices[i].supported = true; + devices[i].Supported = true; break; } } diff --git a/DiscImageChef.Devices/Linux/Structs.cs b/DiscImageChef.Devices/Linux/Structs.cs index 7a1b1128d..6f46b6130 100644 --- a/DiscImageChef.Devices/Linux/Structs.cs +++ b/DiscImageChef.Devices/Linux/Structs.cs @@ -37,7 +37,7 @@ using System.Runtime.InteropServices; namespace DiscImageChef.Devices.Linux { [StructLayout(LayoutKind.Sequential)] - struct sg_io_hdr_t + struct SgIoHdrT { /// /// Always 'S' for SG v3 @@ -67,7 +67,7 @@ namespace DiscImageChef.Devices.Linux } [StructLayout(LayoutKind.Sequential)] - struct mmc_ioc_cmd + struct MmcIocCmd { /// /// Implies direction of data. true = write, false = read diff --git a/DiscImageChef.Devices/Windows/Command.cs b/DiscImageChef.Devices/Windows/Command.cs index 488821677..3eaa2959a 100644 --- a/DiscImageChef.Devices/Windows/Command.cs +++ b/DiscImageChef.Devices/Windows/Command.cs @@ -63,43 +63,43 @@ namespace DiscImageChef.Devices.Windows if(buffer == null) return -1; - ScsiPassThroughDirectAndSenseBuffer sptd_sb = new ScsiPassThroughDirectAndSenseBuffer(); - sptd_sb.sptd = new ScsiPassThroughDirect(); - sptd_sb.SenseBuf = new byte[32]; - sptd_sb.sptd.Cdb = new byte[16]; - Array.Copy(cdb, sptd_sb.sptd.Cdb, cdb.Length); - sptd_sb.sptd.Length = (ushort)Marshal.SizeOf(sptd_sb.sptd); - sptd_sb.sptd.CdbLength = (byte)cdb.Length; - sptd_sb.sptd.SenseInfoLength = (byte)sptd_sb.SenseBuf.Length; - sptd_sb.sptd.DataIn = direction; - sptd_sb.sptd.DataTransferLength = (uint)buffer.Length; - sptd_sb.sptd.TimeOutValue = timeout; - sptd_sb.sptd.DataBuffer = Marshal.AllocHGlobal(buffer.Length); - sptd_sb.sptd.SenseInfoOffset = (uint)Marshal.SizeOf(sptd_sb.sptd); + ScsiPassThroughDirectAndSenseBuffer sptdSb = new ScsiPassThroughDirectAndSenseBuffer(); + sptdSb.sptd = new ScsiPassThroughDirect(); + sptdSb.SenseBuf = new byte[32]; + sptdSb.sptd.Cdb = new byte[16]; + Array.Copy(cdb, sptdSb.sptd.Cdb, cdb.Length); + sptdSb.sptd.Length = (ushort)Marshal.SizeOf(sptdSb.sptd); + sptdSb.sptd.CdbLength = (byte)cdb.Length; + sptdSb.sptd.SenseInfoLength = (byte)sptdSb.SenseBuf.Length; + sptdSb.sptd.DataIn = direction; + sptdSb.sptd.DataTransferLength = (uint)buffer.Length; + sptdSb.sptd.TimeOutValue = timeout; + sptdSb.sptd.DataBuffer = Marshal.AllocHGlobal(buffer.Length); + sptdSb.sptd.SenseInfoOffset = (uint)Marshal.SizeOf(sptdSb.sptd); uint k = 0; int error = 0; - Marshal.Copy(buffer, 0, sptd_sb.sptd.DataBuffer, buffer.Length); + Marshal.Copy(buffer, 0, sptdSb.sptd.DataBuffer, buffer.Length); DateTime start = DateTime.Now; - bool hasError = !Extern.DeviceIoControlScsi(fd, WindowsIoctl.IOCTL_SCSI_PASS_THROUGH_DIRECT, ref sptd_sb, - (uint)Marshal.SizeOf(sptd_sb), ref sptd_sb, - (uint)Marshal.SizeOf(sptd_sb), ref k, IntPtr.Zero); + bool hasError = !Extern.DeviceIoControlScsi(fd, WindowsIoctl.IoctlScsiPassThroughDirect, ref sptdSb, + (uint)Marshal.SizeOf(sptdSb), ref sptdSb, + (uint)Marshal.SizeOf(sptdSb), ref k, IntPtr.Zero); DateTime end = DateTime.Now; if(hasError) error = Marshal.GetLastWin32Error(); - Marshal.Copy(sptd_sb.sptd.DataBuffer, buffer, 0, buffer.Length); + Marshal.Copy(sptdSb.sptd.DataBuffer, buffer, 0, buffer.Length); - sense |= sptd_sb.sptd.ScsiStatus != 0; + sense |= sptdSb.sptd.ScsiStatus != 0; senseBuffer = new byte[32]; - Array.Copy(sptd_sb.SenseBuf, senseBuffer, 32); + Array.Copy(sptdSb.SenseBuf, senseBuffer, 32); duration = (end - start).TotalMilliseconds; - Marshal.FreeHGlobal(sptd_sb.sptd.DataBuffer); + Marshal.FreeHGlobal(sptdSb.sptd.DataBuffer); return error; } @@ -116,7 +116,7 @@ namespace DiscImageChef.Devices.Windows uint offsetForBuffer = (uint)(Marshal.SizeOf(typeof(AtaPassThroughDirect)) + Marshal.SizeOf(typeof(uint))); - AtaPassThroughDirectWithBuffer aptd_buf = new AtaPassThroughDirectWithBuffer + AtaPassThroughDirectWithBuffer aptdBuf = new AtaPassThroughDirectWithBuffer { aptd = new AtaPassThroughDirect { @@ -140,49 +140,49 @@ namespace DiscImageChef.Devices.Windows }; if(protocol == AtaProtocol.PioIn || protocol == AtaProtocol.UDmaIn || protocol == AtaProtocol.Dma) - aptd_buf.aptd.AtaFlags = AtaFlags.DataIn; + aptdBuf.aptd.AtaFlags = AtaFlags.DataIn; else if(protocol == AtaProtocol.PioOut || protocol == AtaProtocol.UDmaOut) - aptd_buf.aptd.AtaFlags = AtaFlags.DataOut; + aptdBuf.aptd.AtaFlags = AtaFlags.DataOut; switch(protocol) { case AtaProtocol.Dma: case AtaProtocol.DmaQueued: - case AtaProtocol.FPDma: + case AtaProtocol.FpDma: case AtaProtocol.UDmaIn: case AtaProtocol.UDmaOut: - aptd_buf.aptd.AtaFlags |= AtaFlags.DMA; + aptdBuf.aptd.AtaFlags |= AtaFlags.Dma; break; } // Unknown if needed - aptd_buf.aptd.AtaFlags |= AtaFlags.DrdyRequired; + aptdBuf.aptd.AtaFlags |= AtaFlags.DrdyRequired; uint k = 0; int error = 0; - Array.Copy(buffer, 0, aptd_buf.dataBuffer, 0, buffer.Length); + Array.Copy(buffer, 0, aptdBuf.dataBuffer, 0, buffer.Length); DateTime start = DateTime.Now; - sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd_buf, - (uint)Marshal.SizeOf(aptd_buf), ref aptd_buf, - (uint)Marshal.SizeOf(aptd_buf), ref k, IntPtr.Zero); + sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IoctlAtaPassThrough, ref aptdBuf, + (uint)Marshal.SizeOf(aptdBuf), ref aptdBuf, + (uint)Marshal.SizeOf(aptdBuf), ref k, IntPtr.Zero); DateTime end = DateTime.Now; if(sense) error = Marshal.GetLastWin32Error(); - Array.Copy(aptd_buf.dataBuffer, 0, buffer, 0, buffer.Length); + Array.Copy(aptdBuf.dataBuffer, 0, buffer, 0, buffer.Length); duration = (end - start).TotalMilliseconds; - errorRegisters.command = aptd_buf.aptd.CurrentTaskFile.Command; - errorRegisters.cylinderHigh = aptd_buf.aptd.CurrentTaskFile.CylinderHigh; - errorRegisters.cylinderLow = aptd_buf.aptd.CurrentTaskFile.CylinderLow; - errorRegisters.deviceHead = aptd_buf.aptd.CurrentTaskFile.DeviceHead; - errorRegisters.error = aptd_buf.aptd.CurrentTaskFile.Error; - errorRegisters.sector = aptd_buf.aptd.CurrentTaskFile.SectorNumber; - errorRegisters.sectorCount = aptd_buf.aptd.CurrentTaskFile.SectorCount; - errorRegisters.status = aptd_buf.aptd.CurrentTaskFile.Status; + errorRegisters.command = aptdBuf.aptd.CurrentTaskFile.Command; + errorRegisters.cylinderHigh = aptdBuf.aptd.CurrentTaskFile.CylinderHigh; + errorRegisters.cylinderLow = aptdBuf.aptd.CurrentTaskFile.CylinderLow; + errorRegisters.deviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead; + errorRegisters.error = aptdBuf.aptd.CurrentTaskFile.Error; + errorRegisters.sector = aptdBuf.aptd.CurrentTaskFile.SectorNumber; + errorRegisters.sectorCount = aptdBuf.aptd.CurrentTaskFile.SectorCount; + errorRegisters.status = aptdBuf.aptd.CurrentTaskFile.Status; sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0; @@ -201,7 +201,7 @@ namespace DiscImageChef.Devices.Windows uint offsetForBuffer = (uint)(Marshal.SizeOf(typeof(AtaPassThroughDirect)) + Marshal.SizeOf(typeof(uint))); - AtaPassThroughDirectWithBuffer aptd_buf = new AtaPassThroughDirectWithBuffer + AtaPassThroughDirectWithBuffer aptdBuf = new AtaPassThroughDirectWithBuffer { aptd = new AtaPassThroughDirect { @@ -225,49 +225,49 @@ namespace DiscImageChef.Devices.Windows }; if(protocol == AtaProtocol.PioIn || protocol == AtaProtocol.UDmaIn || protocol == AtaProtocol.Dma) - aptd_buf.aptd.AtaFlags = AtaFlags.DataIn; + aptdBuf.aptd.AtaFlags = AtaFlags.DataIn; else if(protocol == AtaProtocol.PioOut || protocol == AtaProtocol.UDmaOut) - aptd_buf.aptd.AtaFlags = AtaFlags.DataOut; + aptdBuf.aptd.AtaFlags = AtaFlags.DataOut; switch(protocol) { case AtaProtocol.Dma: case AtaProtocol.DmaQueued: - case AtaProtocol.FPDma: + case AtaProtocol.FpDma: case AtaProtocol.UDmaIn: case AtaProtocol.UDmaOut: - aptd_buf.aptd.AtaFlags |= AtaFlags.DMA; + aptdBuf.aptd.AtaFlags |= AtaFlags.Dma; break; } // Unknown if needed - aptd_buf.aptd.AtaFlags |= AtaFlags.DrdyRequired; + aptdBuf.aptd.AtaFlags |= AtaFlags.DrdyRequired; uint k = 0; int error = 0; - Array.Copy(buffer, 0, aptd_buf.dataBuffer, 0, buffer.Length); + Array.Copy(buffer, 0, aptdBuf.dataBuffer, 0, buffer.Length); DateTime start = DateTime.Now; - sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd_buf, - (uint)Marshal.SizeOf(aptd_buf), ref aptd_buf, - (uint)Marshal.SizeOf(aptd_buf), ref k, IntPtr.Zero); + sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IoctlAtaPassThrough, ref aptdBuf, + (uint)Marshal.SizeOf(aptdBuf), ref aptdBuf, + (uint)Marshal.SizeOf(aptdBuf), ref k, IntPtr.Zero); DateTime end = DateTime.Now; if(sense) error = Marshal.GetLastWin32Error(); - Array.Copy(aptd_buf.dataBuffer, 0, buffer, 0, buffer.Length); + Array.Copy(aptdBuf.dataBuffer, 0, buffer, 0, buffer.Length); duration = (end - start).TotalMilliseconds; - errorRegisters.command = aptd_buf.aptd.CurrentTaskFile.Command; - errorRegisters.lbaHigh = aptd_buf.aptd.CurrentTaskFile.CylinderHigh; - errorRegisters.lbaMid = aptd_buf.aptd.CurrentTaskFile.CylinderLow; - errorRegisters.deviceHead = aptd_buf.aptd.CurrentTaskFile.DeviceHead; - errorRegisters.error = aptd_buf.aptd.CurrentTaskFile.Error; - errorRegisters.lbaLow = aptd_buf.aptd.CurrentTaskFile.SectorNumber; - errorRegisters.sectorCount = aptd_buf.aptd.CurrentTaskFile.SectorCount; - errorRegisters.status = aptd_buf.aptd.CurrentTaskFile.Status; + errorRegisters.command = aptdBuf.aptd.CurrentTaskFile.Command; + errorRegisters.lbaHigh = aptdBuf.aptd.CurrentTaskFile.CylinderHigh; + errorRegisters.lbaMid = aptdBuf.aptd.CurrentTaskFile.CylinderLow; + errorRegisters.deviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead; + errorRegisters.error = aptdBuf.aptd.CurrentTaskFile.Error; + errorRegisters.lbaLow = aptdBuf.aptd.CurrentTaskFile.SectorNumber; + errorRegisters.sectorCount = aptdBuf.aptd.CurrentTaskFile.SectorCount; + errorRegisters.status = aptdBuf.aptd.CurrentTaskFile.Status; sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0; @@ -286,7 +286,7 @@ namespace DiscImageChef.Devices.Windows uint offsetForBuffer = (uint)(Marshal.SizeOf(typeof(AtaPassThroughDirect)) + Marshal.SizeOf(typeof(uint))); - AtaPassThroughDirectWithBuffer aptd_buf = new AtaPassThroughDirectWithBuffer + AtaPassThroughDirectWithBuffer aptdBuf = new AtaPassThroughDirectWithBuffer { aptd = new AtaPassThroughDirect { @@ -318,53 +318,53 @@ namespace DiscImageChef.Devices.Windows }; if(protocol == AtaProtocol.PioIn || protocol == AtaProtocol.UDmaIn || protocol == AtaProtocol.Dma) - aptd_buf.aptd.AtaFlags = AtaFlags.DataIn; + aptdBuf.aptd.AtaFlags = AtaFlags.DataIn; else if(protocol == AtaProtocol.PioOut || protocol == AtaProtocol.UDmaOut) - aptd_buf.aptd.AtaFlags = AtaFlags.DataOut; + aptdBuf.aptd.AtaFlags = AtaFlags.DataOut; switch(protocol) { case AtaProtocol.Dma: case AtaProtocol.DmaQueued: - case AtaProtocol.FPDma: + case AtaProtocol.FpDma: case AtaProtocol.UDmaIn: case AtaProtocol.UDmaOut: - aptd_buf.aptd.AtaFlags |= AtaFlags.DMA; + aptdBuf.aptd.AtaFlags |= AtaFlags.Dma; break; } // Unknown if needed - aptd_buf.aptd.AtaFlags |= AtaFlags.DrdyRequired; + aptdBuf.aptd.AtaFlags |= AtaFlags.DrdyRequired; uint k = 0; int error = 0; - Array.Copy(buffer, 0, aptd_buf.dataBuffer, 0, buffer.Length); + Array.Copy(buffer, 0, aptdBuf.dataBuffer, 0, buffer.Length); DateTime start = DateTime.Now; - sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IOCTL_ATA_PASS_THROUGH, ref aptd_buf, - (uint)Marshal.SizeOf(aptd_buf), ref aptd_buf, - (uint)Marshal.SizeOf(aptd_buf), ref k, IntPtr.Zero); + sense = !Extern.DeviceIoControlAta(fd, WindowsIoctl.IoctlAtaPassThrough, ref aptdBuf, + (uint)Marshal.SizeOf(aptdBuf), ref aptdBuf, + (uint)Marshal.SizeOf(aptdBuf), ref k, IntPtr.Zero); DateTime end = DateTime.Now; if(sense) error = Marshal.GetLastWin32Error(); - Array.Copy(aptd_buf.dataBuffer, 0, buffer, 0, buffer.Length); + Array.Copy(aptdBuf.dataBuffer, 0, buffer, 0, buffer.Length); duration = (end - start).TotalMilliseconds; - errorRegisters.sectorCount = (ushort)((aptd_buf.aptd.PreviousTaskFile.SectorCount << 8) + - aptd_buf.aptd.CurrentTaskFile.SectorCount); - errorRegisters.lbaLow = (ushort)((aptd_buf.aptd.PreviousTaskFile.SectorNumber << 8) + - aptd_buf.aptd.CurrentTaskFile.SectorNumber); - errorRegisters.lbaMid = (ushort)((aptd_buf.aptd.PreviousTaskFile.CylinderLow << 8) + - aptd_buf.aptd.CurrentTaskFile.CylinderLow); - errorRegisters.lbaHigh = (ushort)((aptd_buf.aptd.PreviousTaskFile.CylinderHigh << 8) + - aptd_buf.aptd.CurrentTaskFile.CylinderHigh); - errorRegisters.command = aptd_buf.aptd.CurrentTaskFile.Command; - errorRegisters.deviceHead = aptd_buf.aptd.CurrentTaskFile.DeviceHead; - errorRegisters.error = aptd_buf.aptd.CurrentTaskFile.Error; - errorRegisters.status = aptd_buf.aptd.CurrentTaskFile.Status; + errorRegisters.sectorCount = (ushort)((aptdBuf.aptd.PreviousTaskFile.SectorCount << 8) + + aptdBuf.aptd.CurrentTaskFile.SectorCount); + errorRegisters.lbaLow = (ushort)((aptdBuf.aptd.PreviousTaskFile.SectorNumber << 8) + + aptdBuf.aptd.CurrentTaskFile.SectorNumber); + errorRegisters.lbaMid = (ushort)((aptdBuf.aptd.PreviousTaskFile.CylinderLow << 8) + + aptdBuf.aptd.CurrentTaskFile.CylinderLow); + errorRegisters.lbaHigh = (ushort)((aptdBuf.aptd.PreviousTaskFile.CylinderHigh << 8) + + aptdBuf.aptd.CurrentTaskFile.CylinderHigh); + errorRegisters.command = aptdBuf.aptd.CurrentTaskFile.Command; + errorRegisters.deviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead; + errorRegisters.error = aptdBuf.aptd.CurrentTaskFile.Error; + errorRegisters.status = aptdBuf.aptd.CurrentTaskFile.Status; sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0; @@ -403,7 +403,7 @@ namespace DiscImageChef.Devices.Windows Array.Copy(buffer, 0, iptd.DataBuffer, 0, buffer.Length); DateTime start = DateTime.Now; - sense = !Extern.DeviceIoControlIde(fd, WindowsIoctl.IOCTL_IDE_PASS_THROUGH, ref iptd, + sense = !Extern.DeviceIoControlIde(fd, WindowsIoctl.IoctlIdePassThrough, ref iptd, (uint)Marshal.SizeOf(iptd), ref iptd, (uint)Marshal.SizeOf(iptd), ref k, IntPtr.Zero); DateTime end = DateTime.Now; @@ -463,7 +463,7 @@ namespace DiscImageChef.Devices.Windows Array.Copy(buffer, 0, iptd.DataBuffer, 0, buffer.Length); DateTime start = DateTime.Now; - sense = !Extern.DeviceIoControlIde(fd, WindowsIoctl.IOCTL_IDE_PASS_THROUGH, ref iptd, + sense = !Extern.DeviceIoControlIde(fd, WindowsIoctl.IoctlIdePassThrough, ref iptd, (uint)Marshal.SizeOf(iptd), ref iptd, (uint)Marshal.SizeOf(iptd), ref k, IntPtr.Zero); DateTime end = DateTime.Now; @@ -494,7 +494,7 @@ namespace DiscImageChef.Devices.Windows StorageDeviceNumber sdn = new StorageDeviceNumber(); sdn.deviceNumber = -1; uint k = 0; - if(!Extern.DeviceIoControlGetDeviceNumber(deviceHandle, WindowsIoctl.IOCTL_STORAGE_GET_DEVICE_NUMBER, + if(!Extern.DeviceIoControlGetDeviceNumber(deviceHandle, WindowsIoctl.IoctlStorageGetDeviceNumber, IntPtr.Zero, 0, ref sdn, (uint)Marshal.SizeOf(sdn), ref k, IntPtr.Zero)) { return uint.MaxValue; } @@ -507,7 +507,7 @@ namespace DiscImageChef.Devices.Windows if(devNumber == uint.MaxValue) return null; - SafeFileHandle hDevInfo = Extern.SetupDiGetClassDevs(ref Consts.GUID_DEVINTERFACE_DISK, IntPtr.Zero, + SafeFileHandle hDevInfo = Extern.SetupDiGetClassDevs(ref Consts.GuidDevinterfaceDisk, IntPtr.Zero, IntPtr.Zero, DeviceGetClassFlags.Present | DeviceGetClassFlags.DeviceInterface); @@ -524,7 +524,7 @@ namespace DiscImageChef.Devices.Windows { buffer = new byte[2048]; - if(!Extern.SetupDiEnumDeviceInterfaces(hDevInfo, IntPtr.Zero, ref Consts.GUID_DEVINTERFACE_DISK, index, + if(!Extern.SetupDiEnumDeviceInterfaces(hDevInfo, IntPtr.Zero, ref Consts.GuidDevinterfaceDisk, index, ref spdid)) break; uint size = 0; @@ -581,9 +581,9 @@ namespace DiscImageChef.Devices.Windows SffdiskQueryDeviceProtocolData queryData1 = new SffdiskQueryDeviceProtocolData(); queryData1.size = (ushort)Marshal.SizeOf(queryData1); uint bytesReturned; - Extern.DeviceIoControl(fd, WindowsIoctl.IOCTL_SFFDISK_QUERY_DEVICE_PROTOCOL, IntPtr.Zero, 0, ref queryData1, + Extern.DeviceIoControl(fd, WindowsIoctl.IoctlSffdiskQueryDeviceProtocol, IntPtr.Zero, 0, ref queryData1, queryData1.size, out bytesReturned, IntPtr.Zero); - return queryData1.protocolGuid.Equals(Consts.GUID_SFF_PROTOCOL_SD); + return queryData1.protocolGuid.Equals(Consts.GuidSffProtocolSd); } /// @@ -617,46 +617,46 @@ namespace DiscImageChef.Devices.Windows commandDescriptor.commandCode = (byte)command; commandDescriptor.cmdClass = isApplication ? SdCommandClass.AppCmd : SdCommandClass.Standard; commandDescriptor.transferDirection = write ? SdTransferDirection.Write : SdTransferDirection.Read; - commandDescriptor.transferType = flags.HasFlag(MmcFlags.CommandADTC) + commandDescriptor.transferType = flags.HasFlag(MmcFlags.CommandAdtc) ? SdTransferType.SingleBlock : SdTransferType.CmdOnly; commandDescriptor.responseType = 0; - if(flags.HasFlag(MmcFlags.Response_R1) || flags.HasFlag(MmcFlags.ResponseSPI_R1)) + if(flags.HasFlag(MmcFlags.ResponseR1) || flags.HasFlag(MmcFlags.ResponseSpiR1)) commandDescriptor.responseType = SdResponseType.R1; - if(flags.HasFlag(MmcFlags.Response_R1b) || flags.HasFlag(MmcFlags.ResponseSPI_R1b)) + if(flags.HasFlag(MmcFlags.ResponseR1B) || flags.HasFlag(MmcFlags.ResponseSpiR1B)) commandDescriptor.responseType = SdResponseType.R1b; - if(flags.HasFlag(MmcFlags.Response_R2) || flags.HasFlag(MmcFlags.ResponseSPI_R2)) + if(flags.HasFlag(MmcFlags.ResponseR2) || flags.HasFlag(MmcFlags.ResponseSpiR2)) commandDescriptor.responseType = SdResponseType.R2; - if(flags.HasFlag(MmcFlags.Response_R3) || flags.HasFlag(MmcFlags.ResponseSPI_R3)) + if(flags.HasFlag(MmcFlags.ResponseR3) || flags.HasFlag(MmcFlags.ResponseSpiR3)) commandDescriptor.responseType = SdResponseType.R3; - if(flags.HasFlag(MmcFlags.Response_R4) || flags.HasFlag(MmcFlags.ResponseSPI_R4)) + if(flags.HasFlag(MmcFlags.ResponseR4) || flags.HasFlag(MmcFlags.ResponseSpiR4)) commandDescriptor.responseType = SdResponseType.R4; - if(flags.HasFlag(MmcFlags.Response_R5) || flags.HasFlag(MmcFlags.ResponseSPI_R5)) + if(flags.HasFlag(MmcFlags.ResponseR5) || flags.HasFlag(MmcFlags.ResponseSpiR5)) commandDescriptor.responseType = SdResponseType.R5; - if(flags.HasFlag(MmcFlags.Response_R6)) commandDescriptor.responseType = SdResponseType.R6; + if(flags.HasFlag(MmcFlags.ResponseR6)) commandDescriptor.responseType = SdResponseType.R6; - byte[] command_b = new byte[commandData.size + commandData.protocolArgumentSize + + byte[] commandB = new byte[commandData.size + commandData.protocolArgumentSize + commandData.deviceDataBufferSize]; - IntPtr hBuf = Marshal.AllocHGlobal(command_b.Length); + IntPtr hBuf = Marshal.AllocHGlobal(commandB.Length); Marshal.StructureToPtr(commandData, hBuf, true); IntPtr descriptorOffset = new IntPtr(hBuf.ToInt32() + commandData.size); Marshal.StructureToPtr(commandDescriptor, descriptorOffset, true); - Marshal.Copy(hBuf, command_b, 0, command_b.Length); + Marshal.Copy(hBuf, commandB, 0, commandB.Length); Marshal.FreeHGlobal(hBuf); uint bytesReturned; int error = 0; DateTime start = DateTime.Now; - sense = !Extern.DeviceIoControl(fd, WindowsIoctl.IOCTL_SFFDISK_DEVICE_COMMAND, command_b, - (uint)command_b.Length, command_b, (uint)command_b.Length, + sense = !Extern.DeviceIoControl(fd, WindowsIoctl.IoctlSffdiskDeviceCommand, commandB, + (uint)commandB.Length, commandB, (uint)commandB.Length, out bytesReturned, IntPtr.Zero); DateTime end = DateTime.Now; if(sense) error = Marshal.GetLastWin32Error(); buffer = new byte[blockSize * blocks]; - Buffer.BlockCopy(command_b, command_b.Length - buffer.Length, buffer, 0, buffer.Length); + Buffer.BlockCopy(commandB, commandB.Length - buffer.Length, buffer, 0, buffer.Length); response = new uint[4]; duration = (end - start).TotalMilliseconds; diff --git a/DiscImageChef.Devices/Windows/Enums.cs b/DiscImageChef.Devices/Windows/Enums.cs index 232534434..dd0585a65 100644 --- a/DiscImageChef.Devices/Windows/Enums.cs +++ b/DiscImageChef.Devices/Windows/Enums.cs @@ -213,11 +213,11 @@ namespace DiscImageChef.Devices.Windows /// /// FILE_READ_EA /// - ReadEA = 0x0008, + ReadEa = 0x0008, /// /// FILE_WRITE_EA /// - WriteEA = 0x0010, + WriteEa = 0x0010, /// /// FILE_EXECUTE /// @@ -326,25 +326,25 @@ namespace DiscImageChef.Devices.Windows enum WindowsIoctl : uint { - IOCTL_ATA_PASS_THROUGH = 0x4D02C, - IOCTL_ATA_PASS_THROUGH_DIRECT = 0x4D030, + IoctlAtaPassThrough = 0x4D02C, + IoctlAtaPassThroughDirect = 0x4D030, /// /// ScsiPassThrough /// - IOCTL_SCSI_PASS_THROUGH = 0x4D004, + IoctlScsiPassThrough = 0x4D004, /// /// ScsiPassThroughDirect /// - IOCTL_SCSI_PASS_THROUGH_DIRECT = 0x4D014, + IoctlScsiPassThroughDirect = 0x4D014, /// /// ScsiGetAddress /// - IOCTL_SCSI_GET_ADDRESS = 0x41018, - IOCTL_STORAGE_QUERY_PROPERTY = 0x2D1400, - IOCTL_IDE_PASS_THROUGH = 0x4D028, - IOCTL_STORAGE_GET_DEVICE_NUMBER = 0x2D1080, - IOCTL_SFFDISK_QUERY_DEVICE_PROTOCOL = 0x71E80, - IOCTL_SFFDISK_DEVICE_COMMAND = 0x79E84, + IoctlScsiGetAddress = 0x41018, + IoctlStorageQueryProperty = 0x2D1400, + IoctlIdePassThrough = 0x4D028, + IoctlStorageGetDeviceNumber = 0x2D1080, + IoctlSffdiskQueryDeviceProtocol = 0x71E80, + IoctlSffdiskDeviceCommand = 0x79E84, } [Flags] @@ -369,7 +369,7 @@ namespace DiscImageChef.Devices.Windows /// /// ATA_FLAGS_USE_DMA /// - DMA = 0x10, + Dma = 0x10, /// /// ATA_FLAGS_NO_MULTIPLE /// @@ -389,7 +389,7 @@ namespace DiscImageChef.Devices.Windows Trim = 8, WriteAggregation = 9, Telemetry = 10, - LBProvisioning = 11, + LbProvisioning = 11, Power = 12, Copyoffload = 13, Resiliency = 14 @@ -495,8 +495,8 @@ namespace DiscImageChef.Devices.Windows static class Consts { - public static Guid GUID_SFF_PROTOCOL_SD = new Guid("AD7536A8-D055-4C40-AA4D-96312DDB6B38"); - public static Guid GUID_DEVINTERFACE_DISK = + public static Guid GuidSffProtocolSd = new Guid("AD7536A8-D055-4C40-AA4D-96312DDB6B38"); + public static Guid GuidDevinterfaceDisk = new Guid(0x53F56307, 0xB6BF, 0x11D0, 0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B); } } \ No newline at end of file diff --git a/DiscImageChef.Devices/Windows/Extern.cs b/DiscImageChef.Devices/Windows/Extern.cs index 3e80bc661..5e3104126 100644 --- a/DiscImageChef.Devices/Windows/Extern.cs +++ b/DiscImageChef.Devices/Windows/Extern.cs @@ -49,51 +49,51 @@ namespace DiscImageChef.Devices.Windows FileAttributes flagsAndAttributes, IntPtr templateFile); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControlScsi(SafeFileHandle hDevice, WindowsIoctl IoControlCode, - ref ScsiPassThroughDirectAndSenseBuffer InBuffer, + internal static extern bool DeviceIoControlScsi(SafeFileHandle hDevice, WindowsIoctl ioControlCode, + ref ScsiPassThroughDirectAndSenseBuffer inBuffer, uint nInBufferSize, - ref ScsiPassThroughDirectAndSenseBuffer OutBuffer, + ref ScsiPassThroughDirectAndSenseBuffer outBuffer, uint nOutBufferSize, ref uint pBytesReturned, - IntPtr Overlapped); + IntPtr overlapped); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControlAta(SafeFileHandle hDevice, WindowsIoctl IoControlCode, - ref AtaPassThroughDirectWithBuffer InBuffer, uint nInBufferSize, - ref AtaPassThroughDirectWithBuffer OutBuffer, - uint nOutBufferSize, ref uint pBytesReturned, IntPtr Overlapped); + internal static extern bool DeviceIoControlAta(SafeFileHandle hDevice, WindowsIoctl ioControlCode, + ref AtaPassThroughDirectWithBuffer inBuffer, uint nInBufferSize, + ref AtaPassThroughDirectWithBuffer outBuffer, + uint nOutBufferSize, ref uint pBytesReturned, IntPtr overlapped); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControlStorageQuery(SafeFileHandle hDevice, WindowsIoctl IoControlCode, - ref StoragePropertyQuery InBuffer, uint nInBufferSize, - IntPtr OutBuffer, uint nOutBufferSize, - ref uint pBytesReturned, IntPtr Overlapped); + internal static extern bool DeviceIoControlStorageQuery(SafeFileHandle hDevice, WindowsIoctl ioControlCode, + ref StoragePropertyQuery inBuffer, uint nInBufferSize, + IntPtr outBuffer, uint nOutBufferSize, + ref uint pBytesReturned, IntPtr overlapped); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControlIde(SafeFileHandle hDevice, WindowsIoctl IoControlCode, - ref IdePassThroughDirect InBuffer, uint nInBufferSize, - ref IdePassThroughDirect OutBuffer, uint nOutBufferSize, - ref uint pBytesReturned, IntPtr Overlapped); + internal static extern bool DeviceIoControlIde(SafeFileHandle hDevice, WindowsIoctl ioControlCode, + ref IdePassThroughDirect inBuffer, uint nInBufferSize, + ref IdePassThroughDirect outBuffer, uint nOutBufferSize, + ref uint pBytesReturned, IntPtr overlapped); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControlGetDeviceNumber(SafeFileHandle hDevice, WindowsIoctl IoControlCode, - IntPtr InBuffer, uint nInBufferSize, - ref StorageDeviceNumber OutBuffer, + internal static extern bool DeviceIoControlGetDeviceNumber(SafeFileHandle hDevice, WindowsIoctl ioControlCode, + IntPtr inBuffer, uint nInBufferSize, + ref StorageDeviceNumber outBuffer, uint nOutBufferSize, ref uint pBytesReturned, - IntPtr Overlapped); + IntPtr overlapped); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControl(SafeFileHandle hDevice, WindowsIoctl IoControlCode, IntPtr InBuffer, - uint nInBufferSize, ref SffdiskQueryDeviceProtocolData OutBuffer, - uint nOutBufferSize, out uint pBytesReturned, IntPtr Overlapped); + internal static extern bool DeviceIoControl(SafeFileHandle hDevice, WindowsIoctl ioControlCode, IntPtr inBuffer, + uint nInBufferSize, ref SffdiskQueryDeviceProtocolData outBuffer, + uint nOutBufferSize, out uint pBytesReturned, IntPtr overlapped); [DllImport("Kernel32.dll", SetLastError = true, EntryPoint = "DeviceIoControl", CharSet = CharSet.Auto)] - internal static extern bool DeviceIoControl(SafeFileHandle hDevice, WindowsIoctl IoControlCode, byte[] InBuffer, - uint nInBufferSize, byte[] OutBuffer, uint nOutBufferSize, - out uint pBytesReturned, IntPtr Overlapped); + internal static extern bool DeviceIoControl(SafeFileHandle hDevice, WindowsIoctl ioControlCode, byte[] inBuffer, + uint nInBufferSize, byte[] outBuffer, uint nOutBufferSize, + out uint pBytesReturned, IntPtr overlapped); [DllImport("setupapi.dll", CharSet = CharSet.Auto)] - internal static extern SafeFileHandle SetupDiGetClassDevs(ref Guid ClassGuid, IntPtr Enumerator, - IntPtr hwndParent, DeviceGetClassFlags Flags); + internal static extern SafeFileHandle SetupDiGetClassDevs(ref Guid classGuid, IntPtr enumerator, + IntPtr hwndParent, DeviceGetClassFlags flags); [DllImport("setupapi.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool SetupDiEnumDeviceInterfaces(SafeFileHandle hDevInfo, IntPtr devInfo, diff --git a/DiscImageChef.Devices/Windows/ListDevices.cs b/DiscImageChef.Devices/Windows/ListDevices.cs index e7ad8fe4b..d7378ee98 100644 --- a/DiscImageChef.Devices/Windows/ListDevices.cs +++ b/DiscImageChef.Devices/Windows/ListDevices.cs @@ -43,7 +43,7 @@ namespace DiscImageChef.Devices.Windows { internal static DeviceInfo[] GetList() { - List DeviceIDs = new List(); + List deviceIDs = new List(); try { @@ -51,17 +51,17 @@ namespace DiscImageChef.Devices.Windows new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); ManagementObjectCollection objCol = mgmtObjSearcher.Get(); - foreach(ManagementObject drive in objCol) DeviceIDs.Add((string)drive["DeviceID"]); + foreach(ManagementObject drive in objCol) deviceIDs.Add((string)drive["DeviceID"]); mgmtObjSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_TapeDrive"); objCol = mgmtObjSearcher.Get(); - foreach(ManagementObject drive in objCol) DeviceIDs.Add((string)drive["DeviceID"]); + foreach(ManagementObject drive in objCol) deviceIDs.Add((string)drive["DeviceID"]); mgmtObjSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_CDROMDrive"); objCol = mgmtObjSearcher.Get(); - foreach(ManagementObject drive in objCol) DeviceIDs.Add((string)drive["Drive"]); + foreach(ManagementObject drive in objCol) deviceIDs.Add((string)drive["Drive"]); } catch(Exception ex) { @@ -72,9 +72,9 @@ namespace DiscImageChef.Devices.Windows #endif } - List dev_list = new List(); + List devList = new List(); - foreach(string devId in DeviceIDs) + foreach(string devId in deviceIDs) { string physId = devId; // TODO: This can be done better @@ -92,56 +92,56 @@ namespace DiscImageChef.Devices.Windows //descriptor.RawDeviceProperties = new byte[16384]; IntPtr descriptorPtr = Marshal.AllocHGlobal(1000); - byte[] descriptor_b = new byte[1000]; + byte[] descriptorB = new byte[1000]; uint returned = 0; int error = 0; - bool hasError = !Extern.DeviceIoControlStorageQuery(fd, WindowsIoctl.IOCTL_STORAGE_QUERY_PROPERTY, + bool hasError = !Extern.DeviceIoControlStorageQuery(fd, WindowsIoctl.IoctlStorageQueryProperty, ref query, (uint)Marshal.SizeOf(query), descriptorPtr, 1000, ref returned, IntPtr.Zero); if(hasError) error = Marshal.GetLastWin32Error(); - Marshal.Copy(descriptorPtr, descriptor_b, 0, 1000); + Marshal.Copy(descriptorPtr, descriptorB, 0, 1000); if(hasError && error != 0) continue; StorageDeviceDescriptor descriptor = new StorageDeviceDescriptor(); - descriptor.Version = BitConverter.ToUInt32(descriptor_b, 0); - descriptor.Size = BitConverter.ToUInt32(descriptor_b, 4); - descriptor.DeviceType = descriptor_b[8]; - descriptor.DeviceTypeModifier = descriptor_b[9]; - descriptor.RemovableMedia = BitConverter.ToBoolean(descriptor_b, 10); - descriptor.CommandQueueing = BitConverter.ToBoolean(descriptor_b, 11); - descriptor.VendorIdOffset = BitConverter.ToUInt32(descriptor_b, 12); - descriptor.ProductIdOffset = BitConverter.ToUInt32(descriptor_b, 16); - descriptor.ProductRevisionOffset = BitConverter.ToUInt32(descriptor_b, 20); - descriptor.SerialNumberOffset = BitConverter.ToUInt32(descriptor_b, 24); - descriptor.BusType = (StorageBusType)BitConverter.ToUInt32(descriptor_b, 28); - descriptor.RawPropertiesLength = BitConverter.ToUInt32(descriptor_b, 32); + descriptor.Version = BitConverter.ToUInt32(descriptorB, 0); + descriptor.Size = BitConverter.ToUInt32(descriptorB, 4); + descriptor.DeviceType = descriptorB[8]; + descriptor.DeviceTypeModifier = descriptorB[9]; + descriptor.RemovableMedia = BitConverter.ToBoolean(descriptorB, 10); + descriptor.CommandQueueing = BitConverter.ToBoolean(descriptorB, 11); + descriptor.VendorIdOffset = BitConverter.ToUInt32(descriptorB, 12); + descriptor.ProductIdOffset = BitConverter.ToUInt32(descriptorB, 16); + descriptor.ProductRevisionOffset = BitConverter.ToUInt32(descriptorB, 20); + descriptor.SerialNumberOffset = BitConverter.ToUInt32(descriptorB, 24); + descriptor.BusType = (StorageBusType)BitConverter.ToUInt32(descriptorB, 28); + descriptor.RawPropertiesLength = BitConverter.ToUInt32(descriptorB, 32); - DeviceInfo info = new DeviceInfo {path = physId, bus = descriptor.BusType.ToString()}; + DeviceInfo info = new DeviceInfo {Path = physId, Bus = descriptor.BusType.ToString()}; if(descriptor.VendorIdOffset > 0) - info.vendor = - StringHandlers.CToString(descriptor_b, Encoding.ASCII, start: (int)descriptor.VendorIdOffset); + info.Vendor = + StringHandlers.CToString(descriptorB, Encoding.ASCII, start: (int)descriptor.VendorIdOffset); if(descriptor.ProductIdOffset > 0) - info.model = - StringHandlers.CToString(descriptor_b, Encoding.ASCII, start: (int)descriptor.ProductIdOffset); + info.Model = + StringHandlers.CToString(descriptorB, Encoding.ASCII, start: (int)descriptor.ProductIdOffset); // TODO: Get serial number of SCSI and USB devices, probably also FireWire (untested) if(descriptor.SerialNumberOffset > 0) - info.serial = - StringHandlers.CToString(descriptor_b, Encoding.ASCII, + info.Serial = + StringHandlers.CToString(descriptorB, Encoding.ASCII, start: (int)descriptor.SerialNumberOffset); - if(string.IsNullOrEmpty(info.vendor) || info.vendor == "ATA") + if(string.IsNullOrEmpty(info.Vendor) || info.Vendor == "ATA") { - string[] pieces = info.model.Split(' '); + string[] pieces = info.Model.Split(' '); if(pieces.Length > 1) { - info.vendor = pieces[0]; - info.model = info.model.Substring(pieces[0].Length + 1); + info.Vendor = pieces[0]; + info.Model = info.Model.Substring(pieces[0].Length + 1); } } @@ -157,15 +157,15 @@ namespace DiscImageChef.Devices.Windows case StorageBusType.iSCSI: case StorageBusType.SAS: case StorageBusType.SATA: - info.supported = true; + info.Supported = true; break; } Marshal.FreeHGlobal(descriptorPtr); - dev_list.Add(info); + devList.Add(info); } - DeviceInfo[] devices = dev_list.ToArray(); + DeviceInfo[] devices = devList.ToArray(); return devices; } diff --git a/DiscImageChef.Devices/Windows/Structs.cs b/DiscImageChef.Devices/Windows/Structs.cs index 37e9b5d1e..e64ac0841 100644 --- a/DiscImageChef.Devices/Windows/Structs.cs +++ b/DiscImageChef.Devices/Windows/Structs.cs @@ -219,7 +219,7 @@ namespace DiscImageChef.Devices.Windows } [StructLayout(LayoutKind.Sequential)] - struct USB_SETUP_PACKET + struct UsbSetupPacket { public byte bmRequest; public byte bRequest; @@ -229,10 +229,10 @@ namespace DiscImageChef.Devices.Windows } [StructLayout(LayoutKind.Sequential)] - struct USB_DESCRIPTOR_REQUEST + struct UsbDescriptorRequest { public int ConnectionIndex; - public USB_SETUP_PACKET SetupPacket; + public UsbSetupPacket SetupPacket; //public byte[] Data; } diff --git a/DiscImageChef.Devices/Windows/Usb.cs b/DiscImageChef.Devices/Windows/Usb.cs index 4bc10bff6..91b2fce91 100644 --- a/DiscImageChef.Devices/Windows/Usb.cs +++ b/DiscImageChef.Devices/Windows/Usb.cs @@ -79,10 +79,10 @@ namespace DiscImageChef.Devices.Windows // UsbHub, // UsbMIParent //} USB_HUB_NODE; - enum USB_HUB_NODE + enum UsbHubNode { UsbHub, - UsbMIParent + UsbMiParent } //typedef enum _USB_CONNECTION_STATUS { @@ -96,7 +96,7 @@ namespace DiscImageChef.Devices.Windows // DeviceHubNestedTooDeeply, // DeviceInLegacyHub //} USB_CONNECTION_STATUS, *PUSB_CONNECTION_STATUS; - enum USB_CONNECTION_STATUS + enum UsbConnectionStatus { NoDeviceConnected, DeviceConnected, @@ -114,7 +114,7 @@ namespace DiscImageChef.Devices.Windows // UsbFullSpeed, // UsbHighSpeed //} USB_DEVICE_SPEED; - enum USB_DEVICE_SPEED : byte + enum UsbDeviceSpeed : byte { UsbLowSpeed, UsbFullSpeed, @@ -130,7 +130,7 @@ namespace DiscImageChef.Devices.Windows // ULONG_PTR Reserved; //} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA; [StructLayout(LayoutKind.Sequential)] - struct SP_DEVINFO_DATA + struct SpDevinfoData { internal int cbSize; internal Guid ClassGuid; @@ -145,7 +145,7 @@ namespace DiscImageChef.Devices.Windows // ULONG_PTR Reserved; //} SP_DEVICE_INTERFACE_DATA, *PSP_DEVICE_INTERFACE_DATA; [StructLayout(LayoutKind.Sequential)] - struct SP_DEVICE_INTERFACE_DATA + struct SpDeviceInterfaceData { internal int cbSize; internal Guid InterfaceClassGuid; @@ -158,7 +158,7 @@ namespace DiscImageChef.Devices.Windows // TCHAR DevicePath[ANYSIZE_ARRAY]; //} SP_DEVICE_INTERFACE_DETAIL_DATA, *PSP_DEVICE_INTERFACE_DETAIL_DATA; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] - struct SP_DEVICE_INTERFACE_DETAIL_DATA + struct SpDeviceInterfaceDetailData { internal int cbSize; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = BUFFER_SIZE)] internal string DevicePath; @@ -169,7 +169,7 @@ namespace DiscImageChef.Devices.Windows // WCHAR DriverKeyName[1]; //} USB_HCD_DRIVERKEY_NAME, *PUSB_HCD_DRIVERKEY_NAME; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] - struct USB_HCD_DRIVERKEY_NAME + struct UsbHcdDriverkeyName { internal int ActualLength; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = BUFFER_SIZE)] internal string DriverKeyName; @@ -180,7 +180,7 @@ namespace DiscImageChef.Devices.Windows // WCHAR RootHubName[1]; //} USB_ROOT_HUB_NAME, *PUSB_ROOT_HUB_NAME; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] - struct USB_ROOT_HUB_NAME + struct UsbRootHubName { internal int ActualLength; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = BUFFER_SIZE)] internal string RootHubName; @@ -196,7 +196,7 @@ namespace DiscImageChef.Devices.Windows // UCHAR bRemoveAndPowerMask[64]; //} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR; [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct USB_HUB_DESCRIPTOR + struct UsbHubDescriptor { internal byte bDescriptorLength; internal byte bDescriptorType; @@ -212,9 +212,9 @@ namespace DiscImageChef.Devices.Windows // BOOLEAN HubIsBusPowered; //} USB_HUB_INFORMATION, *PUSB_HUB_INFORMATION; [StructLayout(LayoutKind.Sequential)] - struct USB_HUB_INFORMATION + struct UsbHubInformation { - internal USB_HUB_DESCRIPTOR HubDescriptor; + internal UsbHubDescriptor HubDescriptor; internal byte HubIsBusPowered; } @@ -226,10 +226,10 @@ namespace DiscImageChef.Devices.Windows // } u; //} USB_NODE_INFORMATION, *PUSB_NODE_INFORMATION; [StructLayout(LayoutKind.Sequential)] - struct USB_NODE_INFORMATION + struct UsbNodeInformation { internal int NodeType; - internal USB_HUB_INFORMATION HubInformation; // Yeah, I'm assuming we'll just use the first form + internal UsbHubInformation HubInformation; // Yeah, I'm assuming we'll just use the first form } //typedef struct _USB_NODE_CONNECTION_INFORMATION_EX { @@ -244,10 +244,10 @@ namespace DiscImageChef.Devices.Windows // USB_PIPE_INFO PipeList[0]; //} USB_NODE_CONNECTION_INFORMATION_EX, *PUSB_NODE_CONNECTION_INFORMATION_EX; [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct USB_NODE_CONNECTION_INFORMATION_EX + struct UsbNodeConnectionInformationEx { internal int ConnectionIndex; - internal USB_DEVICE_DESCRIPTOR DeviceDescriptor; + internal UsbDeviceDescriptor DeviceDescriptor; internal byte CurrentConfigurationValue; internal byte Speed; internal byte DeviceIsHub; @@ -275,7 +275,7 @@ namespace DiscImageChef.Devices.Windows // UCHAR bNumConfigurations; //} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR ; [StructLayout(LayoutKind.Sequential, Pack = 1)] - internal struct USB_DEVICE_DESCRIPTOR + internal struct UsbDeviceDescriptor { internal byte bLength; internal byte bDescriptorType; @@ -299,7 +299,7 @@ namespace DiscImageChef.Devices.Windows // WCHAR bString[1]; //} USB_STRING_DESCRIPTOR, *PUSB_STRING_DESCRIPTOR; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] - struct USB_STRING_DESCRIPTOR + struct UsbStringDescriptor { internal byte bLength; internal byte bDescriptorType; @@ -318,7 +318,7 @@ namespace DiscImageChef.Devices.Windows // UCHAR Data[0]; //} USB_DESCRIPTOR_REQUEST, *PUSB_DESCRIPTOR_REQUEST [StructLayout(LayoutKind.Sequential)] - struct USB_SETUP_PACKET + struct UsbSetupPacket { internal byte bmRequest; internal byte bRequest; @@ -328,11 +328,11 @@ namespace DiscImageChef.Devices.Windows } [StructLayout(LayoutKind.Sequential)] - struct USB_DESCRIPTOR_REQUEST + struct UsbDescriptorRequest { internal int ConnectionIndex; - internal USB_SETUP_PACKET SetupPacket; + internal UsbSetupPacket SetupPacket; //internal byte[] Data; } @@ -342,7 +342,7 @@ namespace DiscImageChef.Devices.Windows // WCHAR NodeName[1]; //} USB_NODE_CONNECTION_NAME, *PUSB_NODE_CONNECTION_NAME; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] - struct USB_NODE_CONNECTION_NAME + struct UsbNodeConnectionName { internal int ConnectionIndex; internal int ActualLength; @@ -355,7 +355,7 @@ namespace DiscImageChef.Devices.Windows // WCHAR DriverKeyName[1]; //} USB_NODE_CONNECTION_DRIVERKEY_NAME, *PUSB_NODE_CONNECTION_DRIVERKEY_NAME; [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] - struct USB_NODE_CONNECTION_DRIVERKEY_NAME // Yes, this is the same as the structure above... + struct UsbNodeConnectionDriverkeyName // Yes, this is the same as the structure above... { internal int ConnectionIndex; internal int ActualLength; @@ -372,10 +372,10 @@ namespace DiscImageChef.Devices.Windows //); [DllImport("setupapi.dll", CharSet = CharSet.Auto)] static extern IntPtr SetupDiGetClassDevs( // 1st form using a ClassGUID - ref Guid ClassGuid, int Enumerator, IntPtr hwndParent, int Flags); + ref Guid classGuid, int enumerator, IntPtr hwndParent, int flags); [DllImport("setupapi.dll", CharSet = CharSet.Auto)] // 2nd form uses an Enumerator - static extern IntPtr SetupDiGetClassDevs(int ClassGuid, string Enumerator, IntPtr hwndParent, int Flags); + static extern IntPtr SetupDiGetClassDevs(int classGuid, string enumerator, IntPtr hwndParent, int flags); //BOOL SetupDiEnumDeviceInterfaces( // HDEVINFO DeviceInfoSet, @@ -385,9 +385,9 @@ namespace DiscImageChef.Devices.Windows // PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData //); [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] - static extern bool SetupDiEnumDeviceInterfaces(IntPtr DeviceInfoSet, IntPtr DeviceInfoData, - ref Guid InterfaceClassGuid, int MemberIndex, - ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData); + static extern bool SetupDiEnumDeviceInterfaces(IntPtr deviceInfoSet, IntPtr deviceInfoData, + ref Guid interfaceClassGuid, int memberIndex, + ref SpDeviceInterfaceData deviceInterfaceData); //BOOL SetupDiGetDeviceInterfaceDetail( // HDEVINFO DeviceInfoSet, @@ -398,12 +398,12 @@ namespace DiscImageChef.Devices.Windows // PSP_DEVINFO_DATA DeviceInfoData //); [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] - static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr DeviceInfoSet, - ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData, - ref SP_DEVICE_INTERFACE_DETAIL_DATA - DeviceInterfaceDetailData, - int DeviceInterfaceDetailDataSize, ref int RequiredSize, - ref SP_DEVINFO_DATA DeviceInfoData); + static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet, + ref SpDeviceInterfaceData deviceInterfaceData, + ref SpDeviceInterfaceDetailData + deviceInterfaceDetailData, + int deviceInterfaceDetailDataSize, ref int requiredSize, + ref SpDevinfoData deviceInfoData); //BOOL SetupDiGetDeviceRegistryProperty( // HDEVINFO DeviceInfoSet, @@ -415,10 +415,10 @@ namespace DiscImageChef.Devices.Windows // PDWORD RequiredSize //); [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] - static extern bool SetupDiGetDeviceRegistryProperty(IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData, - int iProperty, ref int PropertyRegDataType, - IntPtr PropertyBuffer, int PropertyBufferSize, - ref int RequiredSize); + static extern bool SetupDiGetDeviceRegistryProperty(IntPtr deviceInfoSet, ref SpDevinfoData deviceInfoData, + int iProperty, ref int propertyRegDataType, + IntPtr propertyBuffer, int propertyBufferSize, + ref int requiredSize); //BOOL SetupDiEnumDeviceInfo( // HDEVINFO DeviceInfoSet, @@ -426,14 +426,14 @@ namespace DiscImageChef.Devices.Windows // PSP_DEVINFO_DATA DeviceInfoData //); [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] - static extern bool SetupDiEnumDeviceInfo(IntPtr DeviceInfoSet, int MemberIndex, - ref SP_DEVINFO_DATA DeviceInfoData); + static extern bool SetupDiEnumDeviceInfo(IntPtr deviceInfoSet, int memberIndex, + ref SpDevinfoData deviceInfoData); //BOOL SetupDiDestroyDeviceInfoList( // HDEVINFO DeviceInfoSet //); [DllImport("setupapi.dll", SetLastError = true)] - static extern bool SetupDiDestroyDeviceInfoList(IntPtr DeviceInfoSet); + static extern bool SetupDiDestroyDeviceInfoList(IntPtr deviceInfoSet); //WINSETUPAPI BOOL WINAPI SetupDiGetDeviceInstanceId( // IN HDEVINFO DeviceInfoSet, @@ -443,9 +443,9 @@ namespace DiscImageChef.Devices.Windows // OUT PDWORD RequiredSize OPTIONAL //); [DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] - static extern bool SetupDiGetDeviceInstanceId(IntPtr DeviceInfoSet, ref SP_DEVINFO_DATA DeviceInfoData, - StringBuilder DeviceInstanceId, int DeviceInstanceIdSize, - out int RequiredSize); + static extern bool SetupDiGetDeviceInstanceId(IntPtr deviceInfoSet, ref SpDevinfoData deviceInfoData, + StringBuilder deviceInstanceId, int deviceInstanceIdSize, + out int requiredSize); //BOOL DeviceIoControl( // HANDLE hDevice, @@ -486,38 +486,38 @@ namespace DiscImageChef.Devices.Windows // // Return a list of USB Host Controllers // - static internal System.Collections.ObjectModel.ReadOnlyCollection GetHostControllers() + static internal System.Collections.ObjectModel.ReadOnlyCollection GetHostControllers() { - List HostList = new List(); - Guid HostGUID = new Guid(GUID_DEVINTERFACE_HUBCONTROLLER); + List hostList = new List(); + Guid hostGuid = new Guid(GUID_DEVINTERFACE_HUBCONTROLLER); // We start at the "root" of the device tree and look for all // devices that match the interface GUID of a Hub Controller - IntPtr h = SetupDiGetClassDevs(ref HostGUID, 0, IntPtr.Zero, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); + IntPtr h = SetupDiGetClassDevs(ref hostGuid, 0, IntPtr.Zero, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); if(h.ToInt32() != INVALID_HANDLE_VALUE) { IntPtr ptrBuf = Marshal.AllocHGlobal(BUFFER_SIZE); - bool Success; + bool success; int i = 0; do { - USBController host = new USBController(); + UsbController host = new UsbController(); host.ControllerIndex = i; // create a Device Interface Data structure - SP_DEVICE_INTERFACE_DATA dia = new SP_DEVICE_INTERFACE_DATA(); + SpDeviceInterfaceData dia = new SpDeviceInterfaceData(); dia.cbSize = Marshal.SizeOf(dia); // start the enumeration - Success = SetupDiEnumDeviceInterfaces(h, IntPtr.Zero, ref HostGUID, i, ref dia); - if(Success) + success = SetupDiEnumDeviceInterfaces(h, IntPtr.Zero, ref hostGuid, i, ref dia); + if(success) { // build a DevInfo Data structure - SP_DEVINFO_DATA da = new SP_DEVINFO_DATA(); + SpDevinfoData da = new SpDevinfoData(); da.cbSize = Marshal.SizeOf(da); // build a Device Interface Detail Data structure - SP_DEVICE_INTERFACE_DETAIL_DATA didd = new SP_DEVICE_INTERFACE_DETAIL_DATA(); + SpDeviceInterfaceDetailData didd = new SpDeviceInterfaceDetailData(); didd.cbSize = 4 + Marshal.SystemDefaultCharSize; // trust me :) // now we can get some more detailed information @@ -528,44 +528,44 @@ namespace DiscImageChef.Devices.Windows host.ControllerDevicePath = didd.DevicePath; // get the Device Description and DriverKeyName - int RequiredSize = 0; - int RegType = REG_SZ; + int requiredSize = 0; + int regType = REG_SZ; - if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DEVICEDESC, ref RegType, ptrBuf, - BUFFER_SIZE, ref RequiredSize)) + if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DEVICEDESC, ref regType, ptrBuf, + BUFFER_SIZE, ref requiredSize)) { host.ControllerDeviceDesc = Marshal.PtrToStringAuto(ptrBuf); } - if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DRIVER, ref RegType, ptrBuf, - BUFFER_SIZE, ref RequiredSize)) + if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DRIVER, ref regType, ptrBuf, + BUFFER_SIZE, ref requiredSize)) { host.ControllerDriverKeyName = Marshal.PtrToStringAuto(ptrBuf); } } - HostList.Add(host); + hostList.Add(host); } i++; } - while(Success); + while(success); Marshal.FreeHGlobal(ptrBuf); SetupDiDestroyDeviceInfoList(h); } // convert it into a Collection - return new System.Collections.ObjectModel.ReadOnlyCollection(HostList); + return new System.Collections.ObjectModel.ReadOnlyCollection(hostList); } // // The USB Host Controller Class // - internal class USBController + internal class UsbController { internal int ControllerIndex; internal string ControllerDriverKeyName, ControllerDevicePath, ControllerDeviceDesc; // A simple default constructor - internal USBController() + internal UsbController() { ControllerIndex = 0; ControllerDevicePath = ""; @@ -598,12 +598,12 @@ namespace DiscImageChef.Devices.Windows } // Return Root Hub for this Controller - internal USBHub GetRootHub() + internal UsbHub GetRootHub() { IntPtr h, h2; - USBHub Root = new USBHub(); - Root.HubIsRootHub = true; - Root.HubDeviceDesc = "Root Hub"; + UsbHub root = new UsbHub(); + root.HubIsRootHub = true; + root.HubDeviceDesc = "Root Hub"; // Open a handle to the Host Controller h = CreateFile(ControllerDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, @@ -611,39 +611,39 @@ namespace DiscImageChef.Devices.Windows if(h.ToInt32() != INVALID_HANDLE_VALUE) { int nBytesReturned; - USB_ROOT_HUB_NAME HubName = new USB_ROOT_HUB_NAME(); - int nBytes = Marshal.SizeOf(HubName); + UsbRootHubName hubName = new UsbRootHubName(); + int nBytes = Marshal.SizeOf(hubName); IntPtr ptrHubName = Marshal.AllocHGlobal(nBytes); // get the Hub Name if(DeviceIoControl(h, IOCTL_USB_GET_ROOT_HUB_NAME, ptrHubName, nBytes, ptrHubName, nBytes, out nBytesReturned, IntPtr.Zero)) { - HubName = (USB_ROOT_HUB_NAME)Marshal.PtrToStructure(ptrHubName, typeof(USB_ROOT_HUB_NAME)); - Root.HubDevicePath = @"\\.\" + HubName.RootHubName; + hubName = (UsbRootHubName)Marshal.PtrToStructure(ptrHubName, typeof(UsbRootHubName)); + root.HubDevicePath = @"\\.\" + hubName.RootHubName; } // TODO: Get DriverKeyName for Root Hub // Now let's open the Hub (based upon the HubName we got above) - h2 = CreateFile(Root.HubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, + h2 = CreateFile(root.HubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero); if(h2.ToInt32() != INVALID_HANDLE_VALUE) { - USB_NODE_INFORMATION NodeInfo = new USB_NODE_INFORMATION(); - NodeInfo.NodeType = (int)USB_HUB_NODE.UsbHub; - nBytes = Marshal.SizeOf(NodeInfo); + UsbNodeInformation nodeInfo = new UsbNodeInformation(); + nodeInfo.NodeType = (int)UsbHubNode.UsbHub; + nBytes = Marshal.SizeOf(nodeInfo); IntPtr ptrNodeInfo = Marshal.AllocHGlobal(nBytes); - Marshal.StructureToPtr(NodeInfo, ptrNodeInfo, true); + Marshal.StructureToPtr(nodeInfo, ptrNodeInfo, true); // get the Hub Information if(DeviceIoControl(h2, IOCTL_USB_GET_NODE_INFORMATION, ptrNodeInfo, nBytes, ptrNodeInfo, nBytes, out nBytesReturned, IntPtr.Zero)) { - NodeInfo = (USB_NODE_INFORMATION)Marshal.PtrToStructure(ptrNodeInfo, - typeof(USB_NODE_INFORMATION)); - Root.HubIsBusPowered = Convert.ToBoolean(NodeInfo.HubInformation.HubIsBusPowered); - Root.HubPortCount = NodeInfo.HubInformation.HubDescriptor.bNumberOfPorts; + nodeInfo = (UsbNodeInformation)Marshal.PtrToStructure(ptrNodeInfo, + typeof(UsbNodeInformation)); + root.HubIsBusPowered = Convert.ToBoolean(nodeInfo.HubInformation.HubIsBusPowered); + root.HubPortCount = nodeInfo.HubInformation.HubDescriptor.bNumberOfPorts; } Marshal.FreeHGlobal(ptrNodeInfo); CloseHandle(h2); @@ -652,22 +652,22 @@ namespace DiscImageChef.Devices.Windows Marshal.FreeHGlobal(ptrHubName); CloseHandle(h); } - return Root; + return root; } } // // The Hub class // - internal class USBHub + internal class UsbHub { internal int HubPortCount; internal string HubDriverKey, HubDevicePath, HubDeviceDesc; - internal string HubManufacturer, HubProduct, HubSerialNumber, HubInstanceID; + internal string HubManufacturer, HubProduct, HubSerialNumber, HubInstanceId; internal bool HubIsBusPowered, HubIsRootHub; // a simple default constructor - internal USBHub() + internal UsbHub() { HubPortCount = 0; HubDevicePath = ""; @@ -678,7 +678,7 @@ namespace DiscImageChef.Devices.Windows HubManufacturer = ""; HubProduct = ""; HubSerialNumber = ""; - HubInstanceID = ""; + HubInstanceId = ""; } // return Port Count @@ -706,9 +706,9 @@ namespace DiscImageChef.Devices.Windows } // the device path of this device - internal string InstanceID + internal string InstanceId { - get { return HubInstanceID; } + get { return HubInstanceId; } } // is is this a self-powered hub? @@ -739,16 +739,16 @@ namespace DiscImageChef.Devices.Windows } // return a list of the down stream ports - internal System.Collections.ObjectModel.ReadOnlyCollection GetPorts() + internal System.Collections.ObjectModel.ReadOnlyCollection GetPorts() { - List PortList = new List(); + List portList = new List(); // Open a handle to the Hub device IntPtr h = CreateFile(HubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero); if(h.ToInt32() != INVALID_HANDLE_VALUE) { - int nBytes = Marshal.SizeOf(typeof(USB_NODE_CONNECTION_INFORMATION_EX)); + int nBytes = Marshal.SizeOf(typeof(UsbNodeConnectionInformationEx)); IntPtr ptrNodeConnection = Marshal.AllocHGlobal(nBytes); // loop thru all of the ports on the hub @@ -756,34 +756,34 @@ namespace DiscImageChef.Devices.Windows for(int i = 1; i <= HubPortCount; i++) { int nBytesReturned; - USB_NODE_CONNECTION_INFORMATION_EX NodeConnection = new USB_NODE_CONNECTION_INFORMATION_EX(); - NodeConnection.ConnectionIndex = i; - Marshal.StructureToPtr(NodeConnection, ptrNodeConnection, true); + UsbNodeConnectionInformationEx nodeConnection = new UsbNodeConnectionInformationEx(); + nodeConnection.ConnectionIndex = i; + Marshal.StructureToPtr(nodeConnection, ptrNodeConnection, true); if(DeviceIoControl(h, IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX, ptrNodeConnection, nBytes, ptrNodeConnection, nBytes, out nBytesReturned, IntPtr.Zero)) { - NodeConnection = - (USB_NODE_CONNECTION_INFORMATION_EX)Marshal.PtrToStructure(ptrNodeConnection, + nodeConnection = + (UsbNodeConnectionInformationEx)Marshal.PtrToStructure(ptrNodeConnection, typeof( - USB_NODE_CONNECTION_INFORMATION_EX + UsbNodeConnectionInformationEx )); // load up the USBPort class - USBPort port = new USBPort(); + UsbPort port = new UsbPort(); port.PortPortNumber = i; port.PortHubDevicePath = HubDevicePath; - USB_CONNECTION_STATUS Status = (USB_CONNECTION_STATUS)NodeConnection.ConnectionStatus; - port.PortStatus = Status.ToString(); - USB_DEVICE_SPEED Speed = (USB_DEVICE_SPEED)NodeConnection.Speed; - port.PortSpeed = Speed.ToString(); + UsbConnectionStatus status = (UsbConnectionStatus)nodeConnection.ConnectionStatus; + port.PortStatus = status.ToString(); + UsbDeviceSpeed speed = (UsbDeviceSpeed)nodeConnection.Speed; + port.PortSpeed = speed.ToString(); port.PortIsDeviceConnected = - (NodeConnection.ConnectionStatus == (int)USB_CONNECTION_STATUS.DeviceConnected); - port.PortIsHub = Convert.ToBoolean(NodeConnection.DeviceIsHub); - port.PortDeviceDescriptor = NodeConnection.DeviceDescriptor; + (nodeConnection.ConnectionStatus == (int)UsbConnectionStatus.DeviceConnected); + port.PortIsHub = Convert.ToBoolean(nodeConnection.DeviceIsHub); + port.PortDeviceDescriptor = nodeConnection.DeviceDescriptor; // add it to the list - PortList.Add(port); + portList.Add(port); } } @@ -791,22 +791,22 @@ namespace DiscImageChef.Devices.Windows CloseHandle(h); } // convert it into a Collection - return new System.Collections.ObjectModel.ReadOnlyCollection(PortList); + return new System.Collections.ObjectModel.ReadOnlyCollection(portList); } } // // The Port Class // - internal class USBPort + internal class UsbPort { internal int PortPortNumber; internal string PortStatus, PortHubDevicePath, PortSpeed; internal bool PortIsHub, PortIsDeviceConnected; - internal USB_DEVICE_DESCRIPTOR PortDeviceDescriptor; + internal UsbDeviceDescriptor PortDeviceDescriptor; // a simple default constructor - internal USBPort() + internal UsbPort() { PortPortNumber = 0; PortStatus = ""; @@ -853,17 +853,17 @@ namespace DiscImageChef.Devices.Windows } // return a down stream external hub - internal USBDevice GetDevice() + internal UsbDevice GetDevice() { if(!PortIsDeviceConnected) { return null; } - USBDevice Device = new USBDevice(); + UsbDevice device = new UsbDevice(); // Copy over some values from the Port class // Ya know, I've given some thought about making Device a derived class... - Device.DevicePortNumber = PortPortNumber; - Device.DeviceHubDevicePath = PortHubDevicePath; - Device.DeviceDescriptor = PortDeviceDescriptor; + device.DevicePortNumber = PortPortNumber; + device.DeviceHubDevicePath = PortHubDevicePath; + device.DeviceDescriptor = PortDeviceDescriptor; // Open a handle to the Hub device IntPtr h = CreateFile(PortHubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, @@ -873,7 +873,7 @@ namespace DiscImageChef.Devices.Windows int nBytesReturned; int nBytes = BUFFER_SIZE; // We use this to zero fill a buffer - string NullString = new string((char)0, BUFFER_SIZE / Marshal.SystemDefaultCharSize); + string nullString = new string((char)0, BUFFER_SIZE / Marshal.SystemDefaultCharSize); // The iManufacturer, iProduct and iSerialNumber entries in the // Device Descriptor are really just indexes. So, we have to @@ -882,15 +882,15 @@ namespace DiscImageChef.Devices.Windows if(PortDeviceDescriptor.iManufacturer > 0) { // build a request for string descriptor - USB_DESCRIPTOR_REQUEST Request = new USB_DESCRIPTOR_REQUEST(); - Request.ConnectionIndex = PortPortNumber; - Request.SetupPacket.wValue = + UsbDescriptorRequest request = new UsbDescriptorRequest(); + request.ConnectionIndex = PortPortNumber; + request.SetupPacket.wValue = (short)((USB_STRING_DESCRIPTOR_TYPE << 8) + PortDeviceDescriptor.iManufacturer); - Request.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(Request)); - Request.SetupPacket.wIndex = 0x409; // Language Code + request.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(request)); + request.SetupPacket.wIndex = 0x409; // Language Code // Geez, I wish C# had a Marshal.MemSet() method - IntPtr ptrRequest = Marshal.StringToHGlobalAuto(NullString); - Marshal.StructureToPtr(Request, ptrRequest, true); + IntPtr ptrRequest = Marshal.StringToHGlobalAuto(nullString); + Marshal.StructureToPtr(request, ptrRequest, true); // Use an IOCTL call to request the String Descriptor if(DeviceIoControl(h, IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, ptrRequest, nBytes, @@ -900,75 +900,75 @@ namespace DiscImageChef.Devices.Windows // the Request structure. Because this location is not "covered" // by the structure allocation, we're forced to zero out this // chunk of memory by using the StringToHGlobalAuto() hack above - IntPtr ptrStringDesc = new IntPtr(ptrRequest.ToInt32() + Marshal.SizeOf(Request)); - USB_STRING_DESCRIPTOR StringDesc = - (USB_STRING_DESCRIPTOR)Marshal.PtrToStructure(ptrStringDesc, - typeof(USB_STRING_DESCRIPTOR)); - Device.DeviceManufacturer = StringDesc.bString; + IntPtr ptrStringDesc = new IntPtr(ptrRequest.ToInt32() + Marshal.SizeOf(request)); + UsbStringDescriptor stringDesc = + (UsbStringDescriptor)Marshal.PtrToStructure(ptrStringDesc, + typeof(UsbStringDescriptor)); + device.DeviceManufacturer = stringDesc.bString; } Marshal.FreeHGlobal(ptrRequest); } if(PortDeviceDescriptor.iProduct > 0) { // build a request for string descriptor - USB_DESCRIPTOR_REQUEST Request = new USB_DESCRIPTOR_REQUEST(); - Request.ConnectionIndex = PortPortNumber; - Request.SetupPacket.wValue = + UsbDescriptorRequest request = new UsbDescriptorRequest(); + request.ConnectionIndex = PortPortNumber; + request.SetupPacket.wValue = (short)((USB_STRING_DESCRIPTOR_TYPE << 8) + PortDeviceDescriptor.iProduct); - Request.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(Request)); - Request.SetupPacket.wIndex = 0x409; // Language Code + request.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(request)); + request.SetupPacket.wIndex = 0x409; // Language Code // Geez, I wish C# had a Marshal.MemSet() method - IntPtr ptrRequest = Marshal.StringToHGlobalAuto(NullString); - Marshal.StructureToPtr(Request, ptrRequest, true); + IntPtr ptrRequest = Marshal.StringToHGlobalAuto(nullString); + Marshal.StructureToPtr(request, ptrRequest, true); // Use an IOCTL call to request the String Descriptor if(DeviceIoControl(h, IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, ptrRequest, nBytes, ptrRequest, nBytes, out nBytesReturned, IntPtr.Zero)) { // the location of the string descriptor is immediately after the Request structure - IntPtr ptrStringDesc = new IntPtr(ptrRequest.ToInt32() + Marshal.SizeOf(Request)); - USB_STRING_DESCRIPTOR StringDesc = - (USB_STRING_DESCRIPTOR)Marshal.PtrToStructure(ptrStringDesc, - typeof(USB_STRING_DESCRIPTOR)); - Device.DeviceProduct = StringDesc.bString; + IntPtr ptrStringDesc = new IntPtr(ptrRequest.ToInt32() + Marshal.SizeOf(request)); + UsbStringDescriptor stringDesc = + (UsbStringDescriptor)Marshal.PtrToStructure(ptrStringDesc, + typeof(UsbStringDescriptor)); + device.DeviceProduct = stringDesc.bString; } Marshal.FreeHGlobal(ptrRequest); } if(PortDeviceDescriptor.iSerialNumber > 0) { // build a request for string descriptor - USB_DESCRIPTOR_REQUEST Request = new USB_DESCRIPTOR_REQUEST(); - Request.ConnectionIndex = PortPortNumber; - Request.SetupPacket.wValue = + UsbDescriptorRequest request = new UsbDescriptorRequest(); + request.ConnectionIndex = PortPortNumber; + request.SetupPacket.wValue = (short)((USB_STRING_DESCRIPTOR_TYPE << 8) + PortDeviceDescriptor.iSerialNumber); - Request.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(Request)); - Request.SetupPacket.wIndex = 0x409; // Language Code + request.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(request)); + request.SetupPacket.wIndex = 0x409; // Language Code // Geez, I wish C# had a Marshal.MemSet() method - IntPtr ptrRequest = Marshal.StringToHGlobalAuto(NullString); - Marshal.StructureToPtr(Request, ptrRequest, true); + IntPtr ptrRequest = Marshal.StringToHGlobalAuto(nullString); + Marshal.StructureToPtr(request, ptrRequest, true); // Use an IOCTL call to request the String Descriptor if(DeviceIoControl(h, IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, ptrRequest, nBytes, ptrRequest, nBytes, out nBytesReturned, IntPtr.Zero)) { // the location of the string descriptor is immediately after the Request structure - IntPtr ptrStringDesc = new IntPtr(ptrRequest.ToInt32() + Marshal.SizeOf(Request)); - USB_STRING_DESCRIPTOR StringDesc = - (USB_STRING_DESCRIPTOR)Marshal.PtrToStructure(ptrStringDesc, - typeof(USB_STRING_DESCRIPTOR)); - Device.DeviceSerialNumber = StringDesc.bString; + IntPtr ptrStringDesc = new IntPtr(ptrRequest.ToInt32() + Marshal.SizeOf(request)); + UsbStringDescriptor stringDesc = + (UsbStringDescriptor)Marshal.PtrToStructure(ptrStringDesc, + typeof(UsbStringDescriptor)); + device.DeviceSerialNumber = stringDesc.bString; } Marshal.FreeHGlobal(ptrRequest); } // build a request for configuration descriptor - USB_DESCRIPTOR_REQUEST dcrRequest = new USB_DESCRIPTOR_REQUEST(); + UsbDescriptorRequest dcrRequest = new UsbDescriptorRequest(); dcrRequest.ConnectionIndex = PortPortNumber; dcrRequest.SetupPacket.wValue = (short)((USB_CONFIGURATION_DESCRIPTOR_TYPE << 8)); dcrRequest.SetupPacket.wLength = (short)(nBytes - Marshal.SizeOf(dcrRequest)); dcrRequest.SetupPacket.wIndex = 0; // Geez, I wish C# had a Marshal.MemSet() method - IntPtr dcrPtrRequest = Marshal.StringToHGlobalAuto(NullString); + IntPtr dcrPtrRequest = Marshal.StringToHGlobalAuto(nullString); Marshal.StructureToPtr(dcrRequest, dcrPtrRequest, true); // Use an IOCTL call to request the String Descriptor @@ -976,47 +976,47 @@ namespace DiscImageChef.Devices.Windows dcrPtrRequest, nBytes, out nBytesReturned, IntPtr.Zero)) { IntPtr ptrStringDesc = new IntPtr(dcrPtrRequest.ToInt32() + Marshal.SizeOf(dcrRequest)); - Device.BinaryDeviceDescriptors = new byte[nBytesReturned]; - Marshal.Copy(ptrStringDesc, Device.BinaryDeviceDescriptors, 0, nBytesReturned); + device.BinaryDeviceDescriptors = new byte[nBytesReturned]; + Marshal.Copy(ptrStringDesc, device.BinaryDeviceDescriptors, 0, nBytesReturned); } Marshal.FreeHGlobal(dcrPtrRequest); // Get the Driver Key Name (usefull in locating a device) - USB_NODE_CONNECTION_DRIVERKEY_NAME DriverKey = new USB_NODE_CONNECTION_DRIVERKEY_NAME(); - DriverKey.ConnectionIndex = PortPortNumber; - nBytes = Marshal.SizeOf(DriverKey); + UsbNodeConnectionDriverkeyName driverKey = new UsbNodeConnectionDriverkeyName(); + driverKey.ConnectionIndex = PortPortNumber; + nBytes = Marshal.SizeOf(driverKey); IntPtr ptrDriverKey = Marshal.AllocHGlobal(nBytes); - Marshal.StructureToPtr(DriverKey, ptrDriverKey, true); + Marshal.StructureToPtr(driverKey, ptrDriverKey, true); // Use an IOCTL call to request the Driver Key Name if(DeviceIoControl(h, IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, ptrDriverKey, nBytes, ptrDriverKey, nBytes, out nBytesReturned, IntPtr.Zero)) { - DriverKey = (USB_NODE_CONNECTION_DRIVERKEY_NAME)Marshal.PtrToStructure(ptrDriverKey, + driverKey = (UsbNodeConnectionDriverkeyName)Marshal.PtrToStructure(ptrDriverKey, typeof( - USB_NODE_CONNECTION_DRIVERKEY_NAME + UsbNodeConnectionDriverkeyName )); - Device.DeviceDriverKey = DriverKey.DriverKeyName; + device.DeviceDriverKey = driverKey.DriverKeyName; // use the DriverKeyName to get the Device Description and Instance ID - Device.DeviceName = GetDescriptionByKeyName(Device.DeviceDriverKey); - Device.DeviceInstanceID = GetInstanceIDByKeyName(Device.DeviceDriverKey); + device.DeviceName = GetDescriptionByKeyName(device.DeviceDriverKey); + device.DeviceInstanceId = GetInstanceIdByKeyName(device.DeviceDriverKey); } Marshal.FreeHGlobal(ptrDriverKey); CloseHandle(h); } - return Device; + return device; } // return a down stream external hub - internal USBHub GetHub() + internal UsbHub GetHub() { if(!PortIsHub) { return null; } - USBHub Hub = new USBHub(); + UsbHub hub = new UsbHub(); IntPtr h, h2; - Hub.HubIsRootHub = false; - Hub.HubDeviceDesc = "External Hub"; + hub.HubIsRootHub = false; + hub.HubDeviceDesc = "External Hub"; // Open a handle to the Host Controller h = CreateFile(PortHubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, @@ -1025,40 +1025,40 @@ namespace DiscImageChef.Devices.Windows { // Get the DevicePath for downstream hub int nBytesReturned; - USB_NODE_CONNECTION_NAME NodeName = new USB_NODE_CONNECTION_NAME(); - NodeName.ConnectionIndex = PortPortNumber; - int nBytes = Marshal.SizeOf(NodeName); + UsbNodeConnectionName nodeName = new UsbNodeConnectionName(); + nodeName.ConnectionIndex = PortPortNumber; + int nBytes = Marshal.SizeOf(nodeName); IntPtr ptrNodeName = Marshal.AllocHGlobal(nBytes); - Marshal.StructureToPtr(NodeName, ptrNodeName, true); + Marshal.StructureToPtr(nodeName, ptrNodeName, true); // Use an IOCTL call to request the Node Name if(DeviceIoControl(h, IOCTL_USB_GET_NODE_CONNECTION_NAME, ptrNodeName, nBytes, ptrNodeName, nBytes, out nBytesReturned, IntPtr.Zero)) { - NodeName = (USB_NODE_CONNECTION_NAME)Marshal.PtrToStructure(ptrNodeName, - typeof(USB_NODE_CONNECTION_NAME)); - Hub.HubDevicePath = @"\\.\" + NodeName.NodeName; + nodeName = (UsbNodeConnectionName)Marshal.PtrToStructure(ptrNodeName, + typeof(UsbNodeConnectionName)); + hub.HubDevicePath = @"\\.\" + nodeName.NodeName; } // Now let's open the Hub (based upon the HubName we got above) - h2 = CreateFile(Hub.HubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, + h2 = CreateFile(hub.HubDevicePath, GENERIC_WRITE, FILE_SHARE_WRITE, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero); if(h2.ToInt32() != INVALID_HANDLE_VALUE) { - USB_NODE_INFORMATION NodeInfo = new USB_NODE_INFORMATION(); - NodeInfo.NodeType = (int)USB_HUB_NODE.UsbHub; - nBytes = Marshal.SizeOf(NodeInfo); + UsbNodeInformation nodeInfo = new UsbNodeInformation(); + nodeInfo.NodeType = (int)UsbHubNode.UsbHub; + nBytes = Marshal.SizeOf(nodeInfo); IntPtr ptrNodeInfo = Marshal.AllocHGlobal(nBytes); - Marshal.StructureToPtr(NodeInfo, ptrNodeInfo, true); + Marshal.StructureToPtr(nodeInfo, ptrNodeInfo, true); // get the Hub Information if(DeviceIoControl(h2, IOCTL_USB_GET_NODE_INFORMATION, ptrNodeInfo, nBytes, ptrNodeInfo, nBytes, out nBytesReturned, IntPtr.Zero)) { - NodeInfo = (USB_NODE_INFORMATION)Marshal.PtrToStructure(ptrNodeInfo, - typeof(USB_NODE_INFORMATION)); - Hub.HubIsBusPowered = Convert.ToBoolean(NodeInfo.HubInformation.HubIsBusPowered); - Hub.HubPortCount = NodeInfo.HubInformation.HubDescriptor.bNumberOfPorts; + nodeInfo = (UsbNodeInformation)Marshal.PtrToStructure(ptrNodeInfo, + typeof(UsbNodeInformation)); + hub.HubIsBusPowered = Convert.ToBoolean(nodeInfo.HubInformation.HubIsBusPowered); + hub.HubPortCount = nodeInfo.HubInformation.HubDescriptor.bNumberOfPorts; } Marshal.FreeHGlobal(ptrNodeInfo); CloseHandle(h2); @@ -1066,33 +1066,33 @@ namespace DiscImageChef.Devices.Windows // Fill in the missing Manufacture, Product, and SerialNumber values // values by just creating a Device instance and copying the values - USBDevice Device = GetDevice(); - Hub.HubInstanceID = Device.DeviceInstanceID; - Hub.HubManufacturer = Device.Manufacturer; - Hub.HubProduct = Device.Product; - Hub.HubSerialNumber = Device.SerialNumber; - Hub.HubDriverKey = Device.DriverKey; + UsbDevice device = GetDevice(); + hub.HubInstanceId = device.DeviceInstanceId; + hub.HubManufacturer = device.Manufacturer; + hub.HubProduct = device.Product; + hub.HubSerialNumber = device.SerialNumber; + hub.HubDriverKey = device.DriverKey; Marshal.FreeHGlobal(ptrNodeName); CloseHandle(h); } - return Hub; + return hub; } } // // The USB Device Class // - internal class USBDevice + internal class UsbDevice { internal int DevicePortNumber; - internal string DeviceDriverKey, DeviceHubDevicePath, DeviceInstanceID, DeviceName; + internal string DeviceDriverKey, DeviceHubDevicePath, DeviceInstanceId, DeviceName; internal string DeviceManufacturer, DeviceProduct, DeviceSerialNumber; - internal USB_DEVICE_DESCRIPTOR DeviceDescriptor; + internal UsbDeviceDescriptor DeviceDescriptor; internal byte[] BinaryDeviceDescriptors; // a simple default constructor - internal USBDevice() + internal UsbDevice() { DevicePortNumber = 0; DeviceHubDevicePath = ""; @@ -1101,7 +1101,7 @@ namespace DiscImageChef.Devices.Windows DeviceProduct = "Unknown USB Device"; DeviceSerialNumber = ""; DeviceName = ""; - DeviceInstanceID = ""; + DeviceInstanceId = ""; BinaryDeviceDescriptors = null; } @@ -1124,9 +1124,9 @@ namespace DiscImageChef.Devices.Windows } // the device path of this device - internal string InstanceID + internal string InstanceId { - get { return DeviceInstanceID; } + get { return DeviceInstanceId; } } // the friendly name @@ -1159,46 +1159,46 @@ namespace DiscImageChef.Devices.Windows // // private function for finding a USB device's Description // - static string GetDescriptionByKeyName(string DriverKeyName) + static string GetDescriptionByKeyName(string driverKeyName) { string ans = ""; - string DevEnum = REGSTR_KEY_USB; + string devEnum = REGSTR_KEY_USB; // Use the "enumerator form" of the SetupDiGetClassDevs API // to generate a list of all USB devices - IntPtr h = SetupDiGetClassDevs(0, DevEnum, IntPtr.Zero, DIGCF_PRESENT | DIGCF_ALLCLASSES); + IntPtr h = SetupDiGetClassDevs(0, devEnum, IntPtr.Zero, DIGCF_PRESENT | DIGCF_ALLCLASSES); if(h.ToInt32() != INVALID_HANDLE_VALUE) { IntPtr ptrBuf = Marshal.AllocHGlobal(BUFFER_SIZE); - string KeyName; + string keyName; - bool Success; + bool success; int i = 0; do { // create a Device Interface Data structure - SP_DEVINFO_DATA da = new SP_DEVINFO_DATA(); + SpDevinfoData da = new SpDevinfoData(); da.cbSize = Marshal.SizeOf(da); // start the enumeration - Success = SetupDiEnumDeviceInfo(h, i, ref da); - if(Success) + success = SetupDiEnumDeviceInfo(h, i, ref da); + if(success) { - int RequiredSize = 0; - int RegType = REG_SZ; - KeyName = ""; + int requiredSize = 0; + int regType = REG_SZ; + keyName = ""; - if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DRIVER, ref RegType, ptrBuf, BUFFER_SIZE, - ref RequiredSize)) + if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DRIVER, ref regType, ptrBuf, BUFFER_SIZE, + ref requiredSize)) { - KeyName = Marshal.PtrToStringAuto(ptrBuf); + keyName = Marshal.PtrToStringAuto(ptrBuf); } // is it a match? - if(KeyName == DriverKeyName) + if(keyName == driverKeyName) { - if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DEVICEDESC, ref RegType, ptrBuf, - BUFFER_SIZE, ref RequiredSize)) + if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DEVICEDESC, ref regType, ptrBuf, + BUFFER_SIZE, ref requiredSize)) { ans = Marshal.PtrToStringAuto(ptrBuf); } @@ -1208,7 +1208,7 @@ namespace DiscImageChef.Devices.Windows i++; } - while(Success); + while(success); Marshal.FreeHGlobal(ptrBuf); SetupDiDestroyDeviceInfoList(h); @@ -1220,47 +1220,47 @@ namespace DiscImageChef.Devices.Windows // // private function for finding a USB device's Instance ID // - static string GetInstanceIDByKeyName(string DriverKeyName) + static string GetInstanceIdByKeyName(string driverKeyName) { string ans = ""; - string DevEnum = REGSTR_KEY_USB; + string devEnum = REGSTR_KEY_USB; // Use the "enumerator form" of the SetupDiGetClassDevs API // to generate a list of all USB devices - IntPtr h = SetupDiGetClassDevs(0, DevEnum, IntPtr.Zero, DIGCF_PRESENT | DIGCF_ALLCLASSES); + IntPtr h = SetupDiGetClassDevs(0, devEnum, IntPtr.Zero, DIGCF_PRESENT | DIGCF_ALLCLASSES); if(h.ToInt32() != INVALID_HANDLE_VALUE) { IntPtr ptrBuf = Marshal.AllocHGlobal(BUFFER_SIZE); - string KeyName; + string keyName; - bool Success; + bool success; int i = 0; do { // create a Device Interface Data structure - SP_DEVINFO_DATA da = new SP_DEVINFO_DATA(); + SpDevinfoData da = new SpDevinfoData(); da.cbSize = Marshal.SizeOf(da); // start the enumeration - Success = SetupDiEnumDeviceInfo(h, i, ref da); - if(Success) + success = SetupDiEnumDeviceInfo(h, i, ref da); + if(success) { - int RequiredSize = 0; - int RegType = REG_SZ; + int requiredSize = 0; + int regType = REG_SZ; - KeyName = ""; - if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DRIVER, ref RegType, ptrBuf, BUFFER_SIZE, - ref RequiredSize)) + keyName = ""; + if(SetupDiGetDeviceRegistryProperty(h, ref da, SPDRP_DRIVER, ref regType, ptrBuf, BUFFER_SIZE, + ref requiredSize)) { - KeyName = Marshal.PtrToStringAuto(ptrBuf); + keyName = Marshal.PtrToStringAuto(ptrBuf); } // is it a match? - if(KeyName == DriverKeyName) + if(keyName == driverKeyName) { int nBytes = BUFFER_SIZE; StringBuilder sb = new StringBuilder(nBytes); - SetupDiGetDeviceInstanceId(h, ref da, sb, nBytes, out RequiredSize); + SetupDiGetDeviceInstanceId(h, ref da, sb, nBytes, out requiredSize); ans = sb.ToString(); break; } @@ -1268,7 +1268,7 @@ namespace DiscImageChef.Devices.Windows i++; } - while(Success); + while(success); Marshal.FreeHGlobal(ptrBuf); SetupDiDestroyDeviceInfoList(h); diff --git a/DiscImageChef.Devices/Windows/UsbFunctions.cs b/DiscImageChef.Devices/Windows/UsbFunctions.cs index 188d54756..39f93c9ac 100644 --- a/DiscImageChef.Devices/Windows/UsbFunctions.cs +++ b/DiscImageChef.Devices/Windows/UsbFunctions.cs @@ -46,63 +46,63 @@ namespace DiscImageChef.Devices.Windows // // Get a list of all connected devices // - static internal List GetConnectedDevices() + static internal List GetConnectedDevices() { - List DevList = new List(); + List devList = new List(); - foreach(USBController Controller in GetHostControllers()) { ListHub(Controller.GetRootHub(), DevList); } + foreach(UsbController controller in GetHostControllers()) { ListHub(controller.GetRootHub(), devList); } - return DevList; + return devList; } // private routine for enumerating a hub - static void ListHub(USBHub Hub, List DevList) + static void ListHub(UsbHub hub, List devList) { - foreach(USBPort Port in Hub.GetPorts()) + foreach(UsbPort port in hub.GetPorts()) { - if(Port.IsHub) + if(port.IsHub) { // recursive - ListHub(Port.GetHub(), DevList); + ListHub(port.GetHub(), devList); } - else { if(Port.IsDeviceConnected) { DevList.Add(Port.GetDevice()); } } + else { if(port.IsDeviceConnected) { devList.Add(port.GetDevice()); } } } } // // Find a device based upon it's DriverKeyName // - static internal USBDevice FindDeviceByDriverKeyName(string DriverKeyName) + static internal UsbDevice FindDeviceByDriverKeyName(string driverKeyName) { - USBDevice FoundDevice = null; + UsbDevice foundDevice = null; - foreach(USBController Controller in GetHostControllers()) + foreach(UsbController controller in GetHostControllers()) { - SearchHubDriverKeyName(Controller.GetRootHub(), ref FoundDevice, DriverKeyName); - if(FoundDevice != null) break; + SearchHubDriverKeyName(controller.GetRootHub(), ref foundDevice, driverKeyName); + if(foundDevice != null) break; } - return FoundDevice; + return foundDevice; } // private routine for enumerating a hub - static void SearchHubDriverKeyName(USBHub Hub, ref USBDevice FoundDevice, string DriverKeyName) + static void SearchHubDriverKeyName(UsbHub hub, ref UsbDevice foundDevice, string driverKeyName) { - foreach(USBPort Port in Hub.GetPorts()) + foreach(UsbPort port in hub.GetPorts()) { - if(Port.IsHub) + if(port.IsHub) { // recursive - SearchHubDriverKeyName(Port.GetHub(), ref FoundDevice, DriverKeyName); + SearchHubDriverKeyName(port.GetHub(), ref foundDevice, driverKeyName); } else { - if(Port.IsDeviceConnected) + if(port.IsDeviceConnected) { - USBDevice Device = Port.GetDevice(); - if(Device.DeviceDriverKey == DriverKeyName) + UsbDevice device = port.GetDevice(); + if(device.DeviceDriverKey == driverKeyName) { - FoundDevice = Device; + foundDevice = device; break; } } @@ -113,37 +113,37 @@ namespace DiscImageChef.Devices.Windows // // Find a device based upon it's Instance ID // - static internal USBDevice FindDeviceByInstanceID(string InstanceID) + static internal UsbDevice FindDeviceByInstanceId(string instanceId) { - USBDevice FoundDevice = null; + UsbDevice foundDevice = null; - foreach(USBController Controller in GetHostControllers()) + foreach(UsbController controller in GetHostControllers()) { - SearchHubInstanceID(Controller.GetRootHub(), ref FoundDevice, InstanceID); - if(FoundDevice != null) break; + SearchHubInstanceId(controller.GetRootHub(), ref foundDevice, instanceId); + if(foundDevice != null) break; } - return FoundDevice; + return foundDevice; } // private routine for enumerating a hub - static void SearchHubInstanceID(USBHub Hub, ref USBDevice FoundDevice, string InstanceID) + static void SearchHubInstanceId(UsbHub hub, ref UsbDevice foundDevice, string instanceId) { - foreach(USBPort Port in Hub.GetPorts()) + foreach(UsbPort port in hub.GetPorts()) { - if(Port.IsHub) + if(port.IsHub) { // recursive - SearchHubInstanceID(Port.GetHub(), ref FoundDevice, InstanceID); + SearchHubInstanceId(port.GetHub(), ref foundDevice, instanceId); } else { - if(Port.IsDeviceConnected) + if(port.IsDeviceConnected) { - USBDevice Device = Port.GetDevice(); - if(Device.InstanceID == InstanceID) + UsbDevice device = port.GetDevice(); + if(device.InstanceId == instanceId) { - FoundDevice = Device; + foundDevice = device; break; } } @@ -152,9 +152,9 @@ namespace DiscImageChef.Devices.Windows } const int IOCTL_STORAGE_GET_DEVICE_NUMBER = 0x2D1080; - internal const string GUID_DEVINTERFACE_DISK = "53f56307-b6bf-11d0-94f2-00a0c91efb8b"; - internal const string GUID_DEVINTERFACE_CDROM = "53f56308-b6bf-11d0-94f2-00a0c91efb8b"; - internal const string GUID_DEVINTERFACE_FLOPPY = "53f56311-b6bf-11d0-94f2-00a0c91efb8b"; + internal const string GuidDevinterfaceDisk = "53f56307-b6bf-11d0-94f2-00a0c91efb8b"; + internal const string GuidDevinterfaceCdrom = "53f56308-b6bf-11d0-94f2-00a0c91efb8b"; + internal const string GuidDevinterfaceFloppy = "53f56311-b6bf-11d0-94f2-00a0c91efb8b"; //typedef struct _STORAGE_DEVICE_NUMBER { // DEVICE_TYPE DeviceType; @@ -162,7 +162,7 @@ namespace DiscImageChef.Devices.Windows // ULONG PartitionNumber; //} STORAGE_DEVICE_NUMBER, *PSTORAGE_DEVICE_NUMBER; [StructLayout(LayoutKind.Sequential)] - struct STORAGE_DEVICE_NUMBER + struct StorageDeviceNumber { internal int DeviceType; internal int DeviceNumber; @@ -184,72 +184,72 @@ namespace DiscImageChef.Devices.Windows // IN ULONG ulFlags //); [DllImport("setupapi.dll", CharSet = CharSet.Auto)] - static extern int CM_Get_Device_ID(IntPtr dnDevInst, IntPtr Buffer, int BufferLen, int ulFlags); + static extern int CM_Get_Device_ID(IntPtr dnDevInst, IntPtr buffer, int bufferLen, int ulFlags); // // Find a device based upon a Drive Letter // - static internal USBDevice FindDriveLetter(string DriveLetter, string deviceGuid) + static internal UsbDevice FindDriveLetter(string driveLetter, string deviceGuid) { - USBDevice FoundDevice = null; - string InstanceID = ""; + UsbDevice foundDevice = null; + string instanceId = ""; // We start by getting the unique DeviceNumber of the given // DriveLetter. We'll use this later to find a matching // DevicePath "symbolic name" - int DevNum = GetDeviceNumber(@"\\.\" + DriveLetter.TrimEnd('\\')); - if(DevNum < 0) { return null; } + int devNum = GetDeviceNumber(@"\\.\" + driveLetter.TrimEnd('\\')); + if(devNum < 0) { return null; } - return FindDeviceNumber(DevNum, deviceGuid); + return FindDeviceNumber(devNum, deviceGuid); } - static internal USBDevice FindDrivePath(string DrivePath, string deviceGuid) + static internal UsbDevice FindDrivePath(string drivePath, string deviceGuid) { - USBDevice FoundDevice = null; - string InstanceID = ""; + UsbDevice foundDevice = null; + string instanceId = ""; // We start by getting the unique DeviceNumber of the given // DriveLetter. We'll use this later to find a matching // DevicePath "symbolic name" - int DevNum = GetDeviceNumber(DrivePath); - if(DevNum < 0) { return null; } + int devNum = GetDeviceNumber(drivePath); + if(devNum < 0) { return null; } - return FindDeviceNumber(DevNum, deviceGuid); + return FindDeviceNumber(devNum, deviceGuid); } // // Find a device based upon a Drive Letter // - static internal USBDevice FindDeviceNumber(int DevNum, string deviceGuid) + static internal UsbDevice FindDeviceNumber(int devNum, string deviceGuid) { - USBDevice FoundDevice = null; - string InstanceID = ""; + UsbDevice foundDevice = null; + string instanceId = ""; - Guid DiskGUID = new Guid(deviceGuid); + Guid diskGuid = new Guid(deviceGuid); // We start at the "root" of the device tree and look for all // devices that match the interface GUID of a disk - IntPtr h = SetupDiGetClassDevs(ref DiskGUID, 0, IntPtr.Zero, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); + IntPtr h = SetupDiGetClassDevs(ref diskGuid, 0, IntPtr.Zero, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); if(h.ToInt32() != INVALID_HANDLE_VALUE) { - bool Success = true; + bool success = true; int i = 0; do { // create a Device Interface Data structure - SP_DEVICE_INTERFACE_DATA dia = new SP_DEVICE_INTERFACE_DATA(); + SpDeviceInterfaceData dia = new SpDeviceInterfaceData(); dia.cbSize = Marshal.SizeOf(dia); // start the enumeration - Success = SetupDiEnumDeviceInterfaces(h, IntPtr.Zero, ref DiskGUID, i, ref dia); - if(Success) + success = SetupDiEnumDeviceInterfaces(h, IntPtr.Zero, ref diskGuid, i, ref dia); + if(success) { // build a DevInfo Data structure - SP_DEVINFO_DATA da = new SP_DEVINFO_DATA(); + SpDevinfoData da = new SpDevinfoData(); da.cbSize = Marshal.SizeOf(da); // build a Device Interface Detail Data structure - SP_DEVICE_INTERFACE_DETAIL_DATA didd = new SP_DEVICE_INTERFACE_DETAIL_DATA(); + SpDeviceInterfaceDetailData didd = new SpDeviceInterfaceDetailData(); didd.cbSize = 4 + Marshal.SystemDefaultCharSize; // trust me :) // now we can get some more detailed information @@ -260,7 +260,7 @@ namespace DiscImageChef.Devices.Windows // Now that we have a DevicePath... we can use it to // generate another DeviceNumber to see if it matches // the one we're looking for. - if(GetDeviceNumber(didd.DevicePath) == DevNum) + if(GetDeviceNumber(didd.DevicePath) == devNum) { // current InstanceID is at the "USBSTOR" level, so we // need up "move up" one level to get to the "USB" level @@ -270,46 +270,46 @@ namespace DiscImageChef.Devices.Windows // Now we get the InstanceID of the USB level device IntPtr ptrInstanceBuf = Marshal.AllocHGlobal(nBytes); CM_Get_Device_ID(ptrPrevious, ptrInstanceBuf, nBytes, 0); - InstanceID = Marshal.PtrToStringAuto(ptrInstanceBuf); + instanceId = Marshal.PtrToStringAuto(ptrInstanceBuf); Marshal.FreeHGlobal(ptrInstanceBuf); - System.Console.WriteLine("InstanceId: {0}", InstanceID); + System.Console.WriteLine("InstanceId: {0}", instanceId); //break; } } } i++; } - while(Success); + while(success); SetupDiDestroyDeviceInfoList(h); } // Did we find an InterfaceID of a USB device? - if(InstanceID.StartsWith("USB\\")) { FoundDevice = FindDeviceByInstanceID(InstanceID); } - return FoundDevice; + if(instanceId.StartsWith("USB\\")) { foundDevice = FindDeviceByInstanceId(instanceId); } + return foundDevice; } // return a unique device number for the given device path - private static int GetDeviceNumber(string DevicePath) + private static int GetDeviceNumber(string devicePath) { int ans = -1; - IntPtr h = CreateFile(DevicePath.TrimEnd('\\'), 0, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero); + IntPtr h = CreateFile(devicePath.TrimEnd('\\'), 0, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero); if(h.ToInt32() != INVALID_HANDLE_VALUE) { int requiredSize; - STORAGE_DEVICE_NUMBER Sdn = new STORAGE_DEVICE_NUMBER(); - int nBytes = Marshal.SizeOf(Sdn); + StorageDeviceNumber sdn = new StorageDeviceNumber(); + int nBytes = Marshal.SizeOf(sdn); IntPtr ptrSdn = Marshal.AllocHGlobal(nBytes); if(DeviceIoControl(h, IOCTL_STORAGE_GET_DEVICE_NUMBER, IntPtr.Zero, 0, ptrSdn, nBytes, out requiredSize, IntPtr.Zero)) { - Sdn = (STORAGE_DEVICE_NUMBER)Marshal.PtrToStructure(ptrSdn, typeof(STORAGE_DEVICE_NUMBER)); + sdn = (StorageDeviceNumber)Marshal.PtrToStructure(ptrSdn, typeof(StorageDeviceNumber)); // just my way of combining the relevant parts of the // STORAGE_DEVICE_NUMBER into a single number - ans = (Sdn.DeviceType << 8) + Sdn.DeviceNumber; + ans = (sdn.DeviceType << 8) + sdn.DeviceNumber; } Marshal.FreeHGlobal(ptrSdn); CloseHandle(h); diff --git a/DiscImageChef.DiscImages/Alcohol120.cs b/DiscImageChef.DiscImages/Alcohol120.cs index d7172f934..3a601ea8d 100644 --- a/DiscImageChef.DiscImages/Alcohol120.cs +++ b/DiscImageChef.DiscImages/Alcohol120.cs @@ -39,7 +39,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class Alcohol120 : ImagePlugin { @@ -169,28 +169,28 @@ namespace DiscImageChef.ImagePlugins public Alcohol120() { Name = "Alcohol 120% Media Descriptor Structure"; - PluginUUID = new Guid("A78FBEBA-0307-4915-BDE3-B8A3B57F843F"); + PluginUuid = new Guid("A78FBEBA-0307-4915-BDE3-B8A3B57F843F"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List(); - ImageInfo.readableMediaTags = new List(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List(); + ImageInfo.ReadableMediaTags = new List(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -437,13 +437,13 @@ namespace DiscImageChef.ImagePlugins { case AlcoholMediumType.DVD: case AlcoholMediumType.DVDR: - ImageInfo.readableMediaTags.Add(MediaTagType.DVD_BCA); + ImageInfo.ReadableMediaTags.Add(MediaTagType.DVD_BCA); break; } } } - ImageInfo.mediaType = AlcoholMediumTypeToMediaType(header.type); + ImageInfo.MediaType = AlcoholMediumTypeToMediaType(header.type); if(isDvd) { @@ -473,58 +473,58 @@ namespace DiscImageChef.ImagePlugins switch(pfi0.Value.DiskCategory) { case Decoders.DVD.DiskCategory.DVDPR: - ImageInfo.mediaType = MediaType.DVDPR; + ImageInfo.MediaType = MediaType.DVDPR; break; case Decoders.DVD.DiskCategory.DVDPRDL: - ImageInfo.mediaType = MediaType.DVDPRDL; + ImageInfo.MediaType = MediaType.DVDPRDL; break; case Decoders.DVD.DiskCategory.DVDPRW: - ImageInfo.mediaType = MediaType.DVDPRW; + ImageInfo.MediaType = MediaType.DVDPRW; break; case Decoders.DVD.DiskCategory.DVDPRWDL: - ImageInfo.mediaType = MediaType.DVDPRWDL; + ImageInfo.MediaType = MediaType.DVDPRWDL; break; case Decoders.DVD.DiskCategory.DVDR: - if(pfi0.Value.PartVersion == 6) ImageInfo.mediaType = MediaType.DVDRDL; - else ImageInfo.mediaType = MediaType.DVDR; + if(pfi0.Value.PartVersion == 6) ImageInfo.MediaType = MediaType.DVDRDL; + else ImageInfo.MediaType = MediaType.DVDR; break; case Decoders.DVD.DiskCategory.DVDRAM: - ImageInfo.mediaType = MediaType.DVDRAM; + ImageInfo.MediaType = MediaType.DVDRAM; break; default: - ImageInfo.mediaType = MediaType.DVDROM; + ImageInfo.MediaType = MediaType.DVDROM; break; case Decoders.DVD.DiskCategory.DVDRW: - if(pfi0.Value.PartVersion == 3) ImageInfo.mediaType = MediaType.DVDRWDL; - else ImageInfo.mediaType = MediaType.DVDRW; + if(pfi0.Value.PartVersion == 3) ImageInfo.MediaType = MediaType.DVDRWDL; + else ImageInfo.MediaType = MediaType.DVDRW; break; case Decoders.DVD.DiskCategory.HDDVDR: - ImageInfo.mediaType = MediaType.HDDVDR; + ImageInfo.MediaType = MediaType.HDDVDR; break; case Decoders.DVD.DiskCategory.HDDVDRAM: - ImageInfo.mediaType = MediaType.HDDVDRAM; + ImageInfo.MediaType = MediaType.HDDVDRAM; break; case Decoders.DVD.DiskCategory.HDDVDROM: - ImageInfo.mediaType = MediaType.HDDVDROM; + ImageInfo.MediaType = MediaType.HDDVDROM; break; case Decoders.DVD.DiskCategory.HDDVDRW: - ImageInfo.mediaType = MediaType.HDDVDRW; + ImageInfo.MediaType = MediaType.HDDVDRW; break; case Decoders.DVD.DiskCategory.Nintendo: if(pfi0.Value.DiscSize == Decoders.DVD.DVDSize.Eighty) - ImageInfo.mediaType = MediaType.GOD; - else ImageInfo.mediaType = MediaType.WOD; + ImageInfo.MediaType = MediaType.GOD; + else ImageInfo.MediaType = MediaType.WOD; break; case Decoders.DVD.DiskCategory.UMD: - ImageInfo.mediaType = MediaType.UMD; + ImageInfo.MediaType = MediaType.UMD; break; } - if(Decoders.Xbox.DMI.IsXbox(dmi)) ImageInfo.mediaType = MediaType.XGD; - else if(Decoders.Xbox.DMI.IsXbox360(dmi)) ImageInfo.mediaType = MediaType.XGD2; + if(Decoders.Xbox.DMI.IsXbox(dmi)) ImageInfo.MediaType = MediaType.XGD; + else if(Decoders.Xbox.DMI.IsXbox360(dmi)) ImageInfo.MediaType = MediaType.XGD2; - ImageInfo.readableMediaTags.Add(MediaTagType.DVD_PFI); - ImageInfo.readableMediaTags.Add(MediaTagType.DVD_DMI); + ImageInfo.ReadableMediaTags.Add(MediaTagType.DVD_PFI); + ImageInfo.ReadableMediaTags.Add(MediaTagType.DVD_DMI); } } } @@ -560,14 +560,14 @@ namespace DiscImageChef.ImagePlugins } } - if(!data && !firstdata) ImageInfo.mediaType = MediaType.CDDA; - else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.mediaType = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) ImageInfo.mediaType = MediaType.CDROMXA; - else if(!audio) ImageInfo.mediaType = MediaType.CDROM; - else ImageInfo.mediaType = MediaType.CD; + if(!data && !firstdata) ImageInfo.MediaType = MediaType.CDDA; + else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.MediaType = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) ImageInfo.MediaType = MediaType.CDROMXA; + else if(!audio) ImageInfo.MediaType = MediaType.CDROM; + else ImageInfo.MediaType = MediaType.CD; } - DicConsole.DebugWriteLine("Alcohol 120% plugin", "ImageInfo.mediaType = {0}", ImageInfo.mediaType); + DicConsole.DebugWriteLine("Alcohol 120% plugin", "ImageInfo.mediaType = {0}", ImageInfo.MediaType); sessions = new List(); foreach(AlcoholSession alcSes in alcSessions.Values) @@ -610,7 +610,7 @@ namespace DiscImageChef.ImagePlugins partition.Type = trk.mode.ToString(); partitions.Add(partition); - ImageInfo.sectors += extra.sectors; + ImageInfo.Sectors += extra.sectors; byte_offset += partition.Size; } @@ -621,45 +621,45 @@ namespace DiscImageChef.ImagePlugins case AlcoholTrackMode.Mode1: case AlcoholTrackMode.Mode2F1: case AlcoholTrackMode.Mode2F1Alt: - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; break; case AlcoholTrackMode.Mode2: - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(ImageInfo.sectorSize < 2336) ImageInfo.sectorSize = 2336; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(ImageInfo.SectorSize < 2336) ImageInfo.SectorSize = 2336; break; case AlcoholTrackMode.Mode2F2: - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); - if(ImageInfo.sectorSize < 2324) ImageInfo.sectorSize = 2324; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); + if(ImageInfo.SectorSize < 2324) ImageInfo.SectorSize = 2324; break; case AlcoholTrackMode.DVD: - ImageInfo.sectorSize = 2048; + ImageInfo.SectorSize = 2048; break; default: - ImageInfo.sectorSize = 2352; + ImageInfo.SectorSize = 2352; break; } } @@ -677,7 +677,7 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("Alcohol 120% plugin", "\tPartition size in bytes: {0}", partition.Size); } - ImageInfo.imageApplication = "Alcohol 120%"; + ImageInfo.ImageApplication = "Alcohol 120%"; DicConsole.DebugWriteLine("Alcohol 120% plugin", "Data filename: {0}", alcFile); @@ -686,11 +686,11 @@ namespace DiscImageChef.ImagePlugins if(alcImage == null) throw new Exception("Cannot open data file"); - ImageInfo.imageSize = (ulong)alcImage.GetDataForkLength(); - ImageInfo.imageCreationTime = alcImage.GetCreationTime(); - ImageInfo.imageLastModificationTime = alcImage.GetLastWriteTime(); - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; - ImageInfo.imageVersion = string.Format("{0}.{1}", header.version[0], header.version[1]); + ImageInfo.ImageSize = (ulong)alcImage.GetDataForkLength(); + ImageInfo.ImageCreationTime = alcImage.GetCreationTime(); + ImageInfo.ImageLastModificationTime = alcImage.GetLastWriteTime(); + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.ImageVersion = string.Format("{0}.{1}", header.version[0], header.version[1]); if(!isDvd) { @@ -735,43 +735,43 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("Alcohol 120% plugin", "TOC not correctly rebuilt"); fullToc = null; } - else ImageInfo.readableMediaTags.Add(MediaTagType.CD_FullTOC); + else ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_FullTOC); - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackFlags); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackFlags); } - if(ImageInfo.mediaType == MediaType.XGD2) + if(ImageInfo.MediaType == MediaType.XGD2) { // All XGD3 all have the same number of blocks - if(ImageInfo.sectors == 25063 || // Locked (or non compatible drive) - ImageInfo.sectors == 4229664 || // Xtreme unlock - ImageInfo.sectors == 4246304) // Wxripper unlock - ImageInfo.mediaType = MediaType.XGD3; + if(ImageInfo.Sectors == 25063 || // Locked (or non compatible drive) + ImageInfo.Sectors == 4229664 || // Xtreme unlock + ImageInfo.Sectors == 4246304) // Wxripper unlock + ImageInfo.MediaType = MediaType.XGD3; } - DicConsole.VerboseWriteLine("Alcohol 120% image describes a disc of type {0}", ImageInfo.mediaType); + DicConsole.VerboseWriteLine("Alcohol 120% image describes a disc of type {0}", ImageInfo.MediaType); return true; } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -994,15 +994,15 @@ namespace DiscImageChef.ImagePlugins switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: return new byte[] {((byte)(_track.adrCtl & 0x0F))}; + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: return new byte[] {((byte)(_track.adrCtl & 0x0F))}; default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1011,51 +1011,51 @@ namespace DiscImageChef.ImagePlugins case AlcoholTrackMode.Mode1: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { sector_offset = 0; sector_size = 12; sector_skip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { sector_offset = 12; sector_size = 4; sector_skip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { sector_offset = 2076; sector_size = 276; sector_skip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { sector_offset = 2076; sector_size = 172; sector_skip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { sector_offset = 2248; sector_size = 104; sector_skip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2064; sector_size = 4; sector_skip = 284; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { switch(_track.subMode) { @@ -1078,27 +1078,27 @@ namespace DiscImageChef.ImagePlugins { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { sector_offset = 0; sector_size = 8; sector_skip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2332; sector_size = 4; sector_skip = 0; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { switch(_track.subMode) { @@ -1122,56 +1122,56 @@ namespace DiscImageChef.ImagePlugins case AlcoholTrackMode.Mode2F1Alt: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { sector_offset = 0; sector_size = 12; sector_skip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { sector_offset = 12; sector_size = 4; sector_skip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { sector_offset = 16; sector_size = 8; sector_skip = 2328; break; } - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { sector_offset = 2076; sector_size = 276; sector_skip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { sector_offset = 2076; sector_size = 172; sector_skip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { sector_offset = 2248; sector_size = 104; sector_skip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2072; sector_size = 4; sector_skip = 276; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { switch(_track.subMode) { @@ -1193,35 +1193,35 @@ namespace DiscImageChef.ImagePlugins case AlcoholTrackMode.Mode2F2: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { sector_offset = 0; sector_size = 12; sector_skip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { sector_offset = 12; sector_size = 4; sector_skip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { sector_offset = 16; sector_size = 8; sector_skip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2348; sector_size = 4; sector_skip = 0; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { switch(_track.subMode) { @@ -1244,7 +1244,7 @@ namespace DiscImageChef.ImagePlugins { switch(tag) { - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { switch(_track.subMode) { @@ -1273,7 +1273,7 @@ namespace DiscImageChef.ImagePlugins sector_skip += 0; break; case AlcoholSubchannelMode.Interleaved: - if(tag != SectorTagType.CDSectorSubchannel) sector_skip += 96; + if(tag != SectorTagType.CdSectorSubchannel) sector_skip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } @@ -1388,17 +1388,17 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List GetPartitions() @@ -1535,73 +1535,73 @@ namespace DiscImageChef.ImagePlugins public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -1647,11 +1647,11 @@ namespace DiscImageChef.ImagePlugins { switch(trackType) { - case AlcoholTrackMode.Mode1: return TrackType.CDMode1; + case AlcoholTrackMode.Mode1: return TrackType.CdMode1; case AlcoholTrackMode.Mode2F1: - case AlcoholTrackMode.Mode2F1Alt: return TrackType.CDMode2Form1; - case AlcoholTrackMode.Mode2F2: return TrackType.CDMode2Form2; - case AlcoholTrackMode.Mode2: return TrackType.CDMode2Formless; + case AlcoholTrackMode.Mode2F1Alt: return TrackType.CdMode2Form1; + case AlcoholTrackMode.Mode2F2: return TrackType.CdMode2Form2; + case AlcoholTrackMode.Mode2: return TrackType.CdMode2Formless; case AlcoholTrackMode.Audio: return TrackType.Audio; default: return TrackType.Data; } @@ -1674,82 +1674,82 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } #endregion Unsupported features } diff --git a/DiscImageChef.DiscImages/Anex86.cs b/DiscImageChef.DiscImages/Anex86.cs index 0243a0505..1b513f659 100644 --- a/DiscImageChef.DiscImages/Anex86.cs +++ b/DiscImageChef.DiscImages/Anex86.cs @@ -38,7 +38,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class Anex86 : ImagePlugin { @@ -60,29 +60,29 @@ namespace DiscImageChef.ImagePlugins public Anex86() { Name = "Anex86 Disk Image"; - PluginUUID = new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); + PluginUuid = new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); ImageInfo = new ImageInfo() { - readableSectorTags = new List(), - readableMediaTags = new List(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List(), + ReadableMediaTags = new List(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -98,10 +98,10 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < Marshal.SizeOf(fdihdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(fdihdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(fdihdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); fdihdr = (Anex86Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Anex86Header)); handle.Free(); @@ -127,14 +127,14 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < Marshal.SizeOf(fdihdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(fdihdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(fdihdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); fdihdr = (Anex86Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Anex86Header)); handle.Free(); - ImageInfo.mediaType = MediaType.GENERIC_HDD; + ImageInfo.MediaType = MediaType.GENERIC_HDD; switch(fdihdr.cylinders) { @@ -145,12 +145,12 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 8: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; - else if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; + else if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; break; case 9: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; - else if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; + else if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; break; } @@ -165,7 +165,7 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 9: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.Apricot_35; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.Apricot_35; break; } @@ -180,7 +180,7 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 26: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.NEC_8_SD; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.NEC_8_SD; break; } @@ -189,7 +189,7 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 26: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.NEC_8_DD; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.NEC_8_DD; break; } @@ -198,7 +198,7 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 8: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.Apricot_35; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.Apricot_35; break; } @@ -207,7 +207,7 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 8: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.NEC_525_HD; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.NEC_525_HD; break; } @@ -222,8 +222,8 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 16: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.NEC_525_SS; - else if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.NEC_525_DS; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.NEC_525_SS; + else if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.NEC_525_DS; break; } @@ -232,21 +232,21 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 8: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; - else if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; + else if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; break; case 9: - if(fdihdr.heads == 1) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; - else if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + if(fdihdr.heads == 1) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; + else if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; break; case 15: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.NEC_35_HD_15; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.NEC_35_HD_15; break; case 18: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.DOS_35_HD; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.DOS_35_HD; break; case 36: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.DOS_35_ED; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.DOS_35_ED; break; } @@ -261,7 +261,7 @@ namespace DiscImageChef.ImagePlugins switch(fdihdr.spt) { case 38: - if(fdihdr.heads == 2) ImageInfo.mediaType = MediaType.NEC_35_TD; + if(fdihdr.heads == 2) ImageInfo.MediaType = MediaType.NEC_35_TD; break; } @@ -271,18 +271,18 @@ namespace DiscImageChef.ImagePlugins break; } - DicConsole.DebugWriteLine("Anex86 plugin", "MediaType: {0}", ImageInfo.mediaType); + DicConsole.DebugWriteLine("Anex86 plugin", "MediaType: {0}", ImageInfo.MediaType); - ImageInfo.imageSize = (ulong)fdihdr.dskSize; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = (ulong)(fdihdr.cylinders * fdihdr.heads * fdihdr.spt); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = (uint)fdihdr.bps; - ImageInfo.cylinders = (uint)fdihdr.cylinders; - ImageInfo.heads = (uint)fdihdr.heads; - ImageInfo.sectorsPerTrack = (uint)fdihdr.spt; + ImageInfo.ImageSize = (ulong)fdihdr.dskSize; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = (ulong)(fdihdr.cylinders * fdihdr.heads * fdihdr.spt); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = (uint)fdihdr.bps; + ImageInfo.Cylinders = (uint)fdihdr.cylinders; + ImageInfo.Heads = (uint)fdihdr.heads; + ImageInfo.SectorsPerTrack = (uint)fdihdr.spt; anexImageFilter = imageFilter; @@ -296,17 +296,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -316,47 +316,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -366,19 +366,19 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = anexImageFilter.GetDataForkStream(); - stream.Seek((long)((ulong)fdihdr.hdrSize + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)((ulong)fdihdr.hdrSize + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -524,18 +524,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List(); + unknownLbas = new List(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/Apple2MG.cs b/DiscImageChef.DiscImages/Apple2MG.cs index 94e1330db..8c5c764bf 100644 --- a/DiscImageChef.DiscImages/Apple2MG.cs +++ b/DiscImageChef.DiscImages/Apple2MG.cs @@ -38,82 +38,82 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class Apple2MG : ImagePlugin + public class Apple2Mg : ImagePlugin { #region Internal Structures // DiskCopy 4.2 header, big-endian, data-fork, start of file, 84 bytes - struct A2IMGHeader + struct A2ImgHeader { /// /// Offset 0x00, magic /// - public uint magic; + public uint Magic; /// /// Offset 0x04, disk image creator ID /// - public uint creator; + public uint Creator; /// /// Offset 0x08, header size, constant 0x0040 /// - public ushort headerSize; + public ushort HeaderSize; /// /// Offset 0x0A, disk image version /// - public ushort version; + public ushort Version; /// /// Offset 0x0C, disk image format /// - public uint imageFormat; + public uint ImageFormat; /// /// Offset 0x10, flags and volume number /// - public uint flags; + public uint Flags; /// /// Offset 0x14, blocks for ProDOS, 0 otherwise /// - public uint blocks; + public uint Blocks; /// /// Offset 0x18, offset to data /// - public uint dataOffset; + public uint DataOffset; /// /// Offset 0x1C, data size in bytes /// - public uint dataSize; + public uint DataSize; /// /// Offset 0x20, offset to optional comment /// - public uint commentOffset; + public uint CommentOffset; /// /// Offset 0x24, length of optional comment /// - public uint commentSize; + public uint CommentSize; /// /// Offset 0x28, offset to creator specific chunk /// - public uint creatorSpecificOffset; + public uint CreatorSpecificOffset; /// /// Offset 0x2C, creator specific chunk size /// - public uint creatorSpecificSize; + public uint CreatorSpecificSize; /// /// Offset 0x30, reserved, should be zero /// - public uint reserved1; + public uint Reserved1; /// /// Offset 0x34, reserved, should be zero /// - public uint reserved2; + public uint Reserved2; /// /// Offset 0x38, reserved, should be zero /// - public uint reserved3; + public uint Reserved3; /// /// Offset 0x3C, reserved, should be zero /// - public uint reserved4; + public uint Reserved4; } #endregion @@ -121,75 +121,75 @@ namespace DiscImageChef.ImagePlugins /// /// Magic number, "2IMG" /// - public const uint MAGIC = 0x474D4932; + const uint MAGIC = 0x474D4932; /// /// Disk image created by ASIMOV2, "!nfc" /// - public const uint CreatorAsimov = 0x63666E21; + const uint CREATOR_ASIMOV = 0x63666E21; /// /// Disk image created by Bernie ][ the Rescue, "B2TR" /// - public const uint CreatorBernie = 0x52543242; + const uint CREATOR_BERNIE = 0x52543242; /// /// Disk image created by Catakig, "CTKG" /// - public const uint CreatorCatakig = 0x474B5443; + const uint CREATOR_CATAKIG = 0x474B5443; /// /// Disk image created by Sheppy's ImageMaker, "ShIm" /// - public const uint CreatorSheppy = 0x6D496853; + const uint CREATOR_SHEPPY = 0x6D496853; /// /// Disk image created by Sweet16, "WOOF" /// - public const uint CreatorSweet = 0x464F4F57; + const uint CREATOR_SWEET = 0x464F4F57; /// /// Disk image created by XGS, "XGS!" /// - public const uint CreatorXGS = 0x21534758; + const uint CREATOR_XGS = 0x21534758; /// /// Disk image created by CiderPress, "CdrP" /// - public const uint CreatorCider = 0x50726443; + const uint CREATOR_CIDER = 0x50726443; - public const uint DOSSectorOrder = 0x00000000; - public const uint ProDOSSectorOrder = 0x00000001; - public const uint NIBSectorOrder = 0x00000002; + const uint DOS_SECTOR_ORDER = 0x00000000; + const uint PRODOS_SECTOR_ORDER = 0x00000001; + const uint NIB_SECTOR_ORDER = 0x00000002; - public const uint LockedDisk = 0x80000000; - public const uint ValidVolumeNumber = 0x00000100; - public const uint VolumeNumberMask = 0x000000FF; + const uint LOCKED_DISK = 0x80000000; + const uint VALID_VOLUME_NUMBER = 0x00000100; + const uint VOLUME_NUMBER_MASK = 0x000000FF; #endregion #region Internal variables - A2IMGHeader ImageHeader; - Filter a2mgImageFilter; + A2ImgHeader imageHeader; + Filter a2MgImageFilter; #endregion - public Apple2MG() + public Apple2Mg() { Name = "Apple 2IMG"; - PluginUUID = new Guid("CBAF8824-BA5F-415F-953A-19A03519B2D1"); + PluginUuid = new Guid("CBAF8824-BA5F-415F-953A-19A03519B2D1"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List(); - ImageInfo.readableMediaTags = new List(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List(); + ImageInfo.ReadableMediaTags = new List(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -231,7 +231,7 @@ namespace DiscImageChef.ImagePlugins Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); - ImageHeader = new A2IMGHeader(); + imageHeader = new A2ImgHeader(); byte[] header = new byte[64]; stream.Read(header, 0, 64); @@ -241,152 +241,152 @@ namespace DiscImageChef.ImagePlugins Array.Copy(header, 0, magic, 0, 4); Array.Copy(header, 4, creator, 0, 4); - ImageHeader.magic = BitConverter.ToUInt32(header, 0x00); - ImageHeader.creator = BitConverter.ToUInt32(header, 0x04); - ImageHeader.headerSize = BitConverter.ToUInt16(header, 0x08); - ImageHeader.version = BitConverter.ToUInt16(header, 0x0A); - ImageHeader.imageFormat = BitConverter.ToUInt32(header, 0x0C); - ImageHeader.flags = BitConverter.ToUInt32(header, 0x10); - ImageHeader.blocks = BitConverter.ToUInt32(header, 0x14); - ImageHeader.dataOffset = BitConverter.ToUInt32(header, 0x18); - ImageHeader.dataSize = BitConverter.ToUInt32(header, 0x1C); - ImageHeader.commentOffset = BitConverter.ToUInt32(header, 0x20); - ImageHeader.commentSize = BitConverter.ToUInt32(header, 0x24); - ImageHeader.creatorSpecificOffset = BitConverter.ToUInt32(header, 0x28); - ImageHeader.creatorSpecificSize = BitConverter.ToUInt32(header, 0x2C); - ImageHeader.reserved1 = BitConverter.ToUInt32(header, 0x30); - ImageHeader.reserved2 = BitConverter.ToUInt32(header, 0x34); - ImageHeader.reserved3 = BitConverter.ToUInt32(header, 0x38); - ImageHeader.reserved4 = BitConverter.ToUInt32(header, 0x3C); + imageHeader.Magic = BitConverter.ToUInt32(header, 0x00); + imageHeader.Creator = BitConverter.ToUInt32(header, 0x04); + imageHeader.HeaderSize = BitConverter.ToUInt16(header, 0x08); + imageHeader.Version = BitConverter.ToUInt16(header, 0x0A); + imageHeader.ImageFormat = BitConverter.ToUInt32(header, 0x0C); + imageHeader.Flags = BitConverter.ToUInt32(header, 0x10); + imageHeader.Blocks = BitConverter.ToUInt32(header, 0x14); + imageHeader.DataOffset = BitConverter.ToUInt32(header, 0x18); + imageHeader.DataSize = BitConverter.ToUInt32(header, 0x1C); + imageHeader.CommentOffset = BitConverter.ToUInt32(header, 0x20); + imageHeader.CommentSize = BitConverter.ToUInt32(header, 0x24); + imageHeader.CreatorSpecificOffset = BitConverter.ToUInt32(header, 0x28); + imageHeader.CreatorSpecificSize = BitConverter.ToUInt32(header, 0x2C); + imageHeader.Reserved1 = BitConverter.ToUInt32(header, 0x30); + imageHeader.Reserved2 = BitConverter.ToUInt32(header, 0x34); + imageHeader.Reserved3 = BitConverter.ToUInt32(header, 0x38); + imageHeader.Reserved4 = BitConverter.ToUInt32(header, 0x3C); - if(ImageHeader.dataSize == 0x00800C00) + if(imageHeader.DataSize == 0x00800C00) { - ImageHeader.dataSize = 0x000C8000; + imageHeader.DataSize = 0x000C8000; DicConsole.DebugWriteLine("2MG plugin", "Detected incorrect endian on data size field, correcting."); } DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.magic = \"{0}\"", Encoding.ASCII.GetString(magic)); DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.creator = \"{0}\"", Encoding.ASCII.GetString(creator)); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.headerSize = {0}", ImageHeader.headerSize); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.version = {0}", ImageHeader.version); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.imageFormat = {0}", ImageHeader.imageFormat); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.flags = 0x{0:X8}", ImageHeader.flags); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.blocks = {0}", ImageHeader.blocks); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.dataOffset = 0x{0:X8}", ImageHeader.dataOffset); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.dataSize = {0}", ImageHeader.dataSize); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.commentOffset = 0x{0:X8}", ImageHeader.commentOffset); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.commentSize = {0}", ImageHeader.commentSize); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.headerSize = {0}", imageHeader.HeaderSize); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.version = {0}", imageHeader.Version); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.imageFormat = {0}", imageHeader.ImageFormat); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.flags = 0x{0:X8}", imageHeader.Flags); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.blocks = {0}", imageHeader.Blocks); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.dataOffset = 0x{0:X8}", imageHeader.DataOffset); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.dataSize = {0}", imageHeader.DataSize); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.commentOffset = 0x{0:X8}", imageHeader.CommentOffset); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.commentSize = {0}", imageHeader.CommentSize); DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.creatorSpecificOffset = 0x{0:X8}", - ImageHeader.creatorSpecificOffset); + imageHeader.CreatorSpecificOffset); DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.creatorSpecificSize = {0}", - ImageHeader.creatorSpecificSize); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved1 = 0x{0:X8}", ImageHeader.reserved1); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved2 = 0x{0:X8}", ImageHeader.reserved2); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved3 = 0x{0:X8}", ImageHeader.reserved3); - DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved4 = 0x{0:X8}", ImageHeader.reserved4); + imageHeader.CreatorSpecificSize); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved1 = 0x{0:X8}", imageHeader.Reserved1); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved2 = 0x{0:X8}", imageHeader.Reserved2); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved3 = 0x{0:X8}", imageHeader.Reserved3); + DicConsole.DebugWriteLine("2MG plugin", "ImageHeader.reserved4 = 0x{0:X8}", imageHeader.Reserved4); - if(ImageHeader.dataSize == 0 && ImageHeader.blocks == 0 && - ImageHeader.imageFormat != ProDOSSectorOrder) return false; + if(imageHeader.DataSize == 0 && imageHeader.Blocks == 0 && + imageHeader.ImageFormat != PRODOS_SECTOR_ORDER) return false; - if(ImageHeader.imageFormat == ProDOSSectorOrder && ImageHeader.blocks == 0) return false; + if(imageHeader.ImageFormat == PRODOS_SECTOR_ORDER && imageHeader.Blocks == 0) return false; - if(ImageHeader.imageFormat == ProDOSSectorOrder) ImageHeader.dataSize = ImageHeader.blocks * 512; - else if(ImageHeader.blocks == 0 && ImageHeader.dataSize != 0) - ImageHeader.blocks = ImageHeader.dataSize / 256; - else if(ImageHeader.dataSize == 0 && ImageHeader.blocks != 0) - ImageHeader.dataSize = ImageHeader.blocks * 256; + if(imageHeader.ImageFormat == PRODOS_SECTOR_ORDER) imageHeader.DataSize = imageHeader.Blocks * 512; + else if(imageHeader.Blocks == 0 && imageHeader.DataSize != 0) + imageHeader.Blocks = imageHeader.DataSize / 256; + else if(imageHeader.DataSize == 0 && imageHeader.Blocks != 0) + imageHeader.DataSize = imageHeader.Blocks * 256; - ImageInfo.sectorSize = (uint)(ImageHeader.imageFormat == ProDOSSectorOrder ? 512 : 256); + ImageInfo.SectorSize = (uint)(imageHeader.ImageFormat == PRODOS_SECTOR_ORDER ? 512 : 256); - ImageInfo.sectors = ImageHeader.blocks; - ImageInfo.imageSize = ImageHeader.dataSize; + ImageInfo.Sectors = imageHeader.Blocks; + ImageInfo.ImageSize = imageHeader.DataSize; - switch(ImageHeader.creator) + switch(imageHeader.Creator) { - case CreatorAsimov: - ImageInfo.imageApplication = "ASIMOV2"; + case CREATOR_ASIMOV: + ImageInfo.ImageApplication = "ASIMOV2"; break; - case CreatorBernie: - ImageInfo.imageApplication = "Bernie ][ the Rescue"; + case CREATOR_BERNIE: + ImageInfo.ImageApplication = "Bernie ][ the Rescue"; break; - case CreatorCatakig: - ImageInfo.imageApplication = "Catakig"; + case CREATOR_CATAKIG: + ImageInfo.ImageApplication = "Catakig"; break; - case CreatorSheppy: - ImageInfo.imageApplication = "Sheppy's ImageMaker"; + case CREATOR_SHEPPY: + ImageInfo.ImageApplication = "Sheppy's ImageMaker"; break; - case CreatorSweet: - ImageInfo.imageApplication = "Sweet16"; + case CREATOR_SWEET: + ImageInfo.ImageApplication = "Sweet16"; break; - case CreatorXGS: - ImageInfo.imageApplication = "XGS"; + case CREATOR_XGS: + ImageInfo.ImageApplication = "XGS"; break; - case CreatorCider: - ImageInfo.imageApplication = "CiderPress"; + case CREATOR_CIDER: + ImageInfo.ImageApplication = "CiderPress"; break; default: - ImageInfo.imageApplication = + ImageInfo.ImageApplication = string.Format("Unknown creator code \"{0}\"", Encoding.ASCII.GetString(creator)); break; } - ImageInfo.imageVersion = ImageHeader.version.ToString(); + ImageInfo.ImageVersion = imageHeader.Version.ToString(); - if(ImageHeader.commentOffset != 0 && ImageHeader.commentSize != 0) + if(imageHeader.CommentOffset != 0 && imageHeader.CommentSize != 0) { - stream.Seek(ImageHeader.commentOffset, SeekOrigin.Begin); + stream.Seek(imageHeader.CommentOffset, SeekOrigin.Begin); - byte[] comments = new byte[ImageHeader.commentSize]; - stream.Read(comments, 0, (int)ImageHeader.commentSize); - ImageInfo.imageComments = Encoding.ASCII.GetString(comments); + byte[] comments = new byte[imageHeader.CommentSize]; + stream.Read(comments, 0, (int)imageHeader.CommentSize); + ImageInfo.ImageComments = Encoding.ASCII.GetString(comments); } - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.mediaType = GetMediaType(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.MediaType = GetMediaType(); - a2mgImageFilter = imageFilter; + a2MgImageFilter = imageFilter; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - DicConsole.VerboseWriteLine("2MG image contains a disk of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("2MG comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("2MG image contains a disk of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("2MG comments: {0}", ImageInfo.ImageComments); - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.Apple32SS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 13; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 13; break; case MediaType.Apple32DS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 13; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 13; break; case MediaType.Apple33SS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.Apple33DS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.AppleSonySS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; // Variable sectors per track, this suffices - ImageInfo.sectorsPerTrack = 10; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.AppleSonyDS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; // Variable sectors per track, this suffices - ImageInfo.sectorsPerTrack = 10; + ImageInfo.SectorsPerTrack = 10; break; } @@ -400,17 +400,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -420,47 +420,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - switch(ImageInfo.sectors) + switch(ImageInfo.Sectors) { case 455: return MediaType.Apple32SS; case 910: return MediaType.Apple32DS; @@ -479,19 +479,19 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Stream stream = a2mgImageFilter.GetDataForkStream(); + Stream stream = a2MgImageFilter.GetDataForkStream(); - stream.Seek((long)(ImageHeader.dataOffset + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)(imageHeader.DataOffset + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -637,18 +637,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List(); + unknownLbas = new List(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/AppleDOS.cs b/DiscImageChef.DiscImages/AppleDOS.cs index 5e8518eb5..419494302 100644 --- a/DiscImageChef.DiscImages/AppleDOS.cs +++ b/DiscImageChef.DiscImages/AppleDOS.cs @@ -36,42 +36,42 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // Checked using several images and strings inside Apple's DiskImages.framework - public class AppleDOS : ImagePlugin + public class AppleDos : ImagePlugin { #region Internal variables byte[] deinterleaved; string extension; #endregion - public AppleDOS() + public AppleDos() { Name = "Apple ][ Interleaved Disk Image"; - PluginUUID = new Guid("A5828AC0-62C9-4304-81D4-EFD4AAE47360"); + PluginUuid = new Guid("A5828AC0-62C9-4304-81D4-EFD4AAE47360"); ImageInfo = new ImageInfo { - readableSectorTags = new List(), - readableMediaTags = new List(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List(), + ReadableMediaTags = new List(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -111,39 +111,39 @@ namespace DiscImageChef.ImagePlugins 256); } - ImageInfo.sectorSize = 256; - ImageInfo.imageSize = (ulong)imageFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = 560; - ImageInfo.mediaType = MediaType.Apple33SS; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.cylinders = 35; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.SectorSize = 256; + ImageInfo.ImageSize = (ulong)imageFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = 560; + ImageInfo.MediaType = MediaType.Apple33SS; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; return true; } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -153,15 +153,15 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Array.Copy(deinterleaved, (int)(sectorAddress * ImageInfo.sectorSize), buffer, 0, buffer.Length); + Array.Copy(deinterleaved, (int)(sectorAddress * ImageInfo.SectorSize), buffer, 0, buffer.Length); return buffer; } @@ -175,22 +175,22 @@ namespace DiscImageChef.ImagePlugins public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override bool? VerifySector(ulong sectorAddress) @@ -203,24 +203,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -293,17 +293,17 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -313,62 +313,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List GetPartitions() diff --git a/DiscImageChef.DiscImages/AppleNIB.cs b/DiscImageChef.DiscImages/AppleNIB.cs index 1e4f1d60d..9931caa75 100644 --- a/DiscImageChef.DiscImages/AppleNIB.cs +++ b/DiscImageChef.DiscImages/AppleNIB.cs @@ -39,10 +39,10 @@ using DiscImageChef.Console; using DiscImageChef.Decoders.Floppy; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // TODO: Checksum sectors - public class AppleNIB : ImagePlugin + public class AppleNib : ImagePlugin { Dictionary longSectors; Dictionary cookedSectors; @@ -65,31 +65,31 @@ namespace DiscImageChef.ImagePlugins 0x2C, 0x20, 0x44, 0x49, 0x47, 0x49, 0x54, 0x41, 0x4C, 0x20, 0x52, 0x45, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48 }; - public AppleNIB() + public AppleNib() { Name = "Apple NIB"; - PluginUUID = new Guid("AE171AE8-6747-49CC-B861-9D450B7CD42E"); + PluginUuid = new Guid("AE171AE8-6747-49CC-B861-9D450B7CD42E"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List(); - ImageInfo.readableMediaTags = new List(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List(); + ImageInfo.ReadableMediaTags = new List(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -196,17 +196,17 @@ namespace DiscImageChef.ImagePlugins "Hardware sector {0} of track {1} goes to logical sector {2}", sectorNo, i, skewing[sectorNo] + (ulong)(i * spt)); rawSectors.Add(skewing[sectorNo] + (ulong)(i * spt), sector); - ImageInfo.sectors++; + ImageInfo.Sectors++; } else { - rawSectors.Add(ImageInfo.sectors, sector); - ImageInfo.sectors++; + rawSectors.Add(ImageInfo.Sectors, sector); + ImageInfo.Sectors++; } } } - DicConsole.DebugWriteLine("Apple NIB Plugin", "Got {0} sectors", ImageInfo.sectors); + DicConsole.DebugWriteLine("Apple NIB Plugin", "Got {0} sectors", ImageInfo.Sectors); DicConsole.DebugWriteLine("Apple NIB Plugin", "Cooking sectors"); @@ -224,27 +224,27 @@ namespace DiscImageChef.ImagePlugins addressFields.Add(kvp.Key, addr); } - ImageInfo.imageSize = (ulong)imageFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - if(ImageInfo.sectors == 455) ImageInfo.mediaType = MediaType.Apple32SS; - else if(ImageInfo.sectors == 560) ImageInfo.mediaType = MediaType.Apple33SS; - else ImageInfo.mediaType = MediaType.Unknown; - ImageInfo.sectorSize = 256; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.readableSectorTags.Add(SectorTagType.FloppyAddressMark); - switch(ImageInfo.mediaType) + ImageInfo.ImageSize = (ulong)imageFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + if(ImageInfo.Sectors == 455) ImageInfo.MediaType = MediaType.Apple32SS; + else if(ImageInfo.Sectors == 560) ImageInfo.MediaType = MediaType.Apple33SS; + else ImageInfo.MediaType = MediaType.Unknown; + ImageInfo.SectorSize = 256; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.ReadableSectorTags.Add(SectorTagType.FloppyAddressMark); + switch(ImageInfo.MediaType) { case MediaType.Apple32SS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 13; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 13; break; case MediaType.Apple33SS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 16; break; } @@ -258,17 +258,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -278,47 +278,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - switch(ImageInfo.sectors) + switch(ImageInfo.Sectors) { case 455: return MediaType.Apple32SS; case 560: return MediaType.Apple33SS; @@ -328,7 +328,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -339,11 +339,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -359,7 +359,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorTag(ulong sectorAddress, SectorTagType tag) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -373,11 +373,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsTag(ulong sectorAddress, uint length, SectorTagType tag) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); if(tag != SectorTagType.FloppyAddressMark) @@ -396,7 +396,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorLong(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -407,11 +407,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -546,18 +546,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List(); + unknownLbas = new List(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/Apridisk.cs b/DiscImageChef.DiscImages/Apridisk.cs index be99512a5..9e1b3ab7c 100644 --- a/DiscImageChef.DiscImages/Apridisk.cs +++ b/DiscImageChef.DiscImages/Apridisk.cs @@ -39,7 +39,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class Apridisk : ImagePlugin { @@ -93,29 +93,29 @@ namespace DiscImageChef.ImagePlugins public Apridisk() { Name = "ACT Apricot Disk Image"; - PluginUUID = new Guid("43408CF3-6DB3-449F-A779-2B0E497C5B14"); + PluginUuid = new Guid("43408CF3-6DB3-449F-A779-2B0E497C5B14"); ImageInfo = new ImageInfo() { - readableSectorTags = new List(), - readableMediaTags = new List(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List(), + ReadableMediaTags = new List(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -168,16 +168,16 @@ namespace DiscImageChef.ImagePlugins stream.Seek(record.headerSize - recordSize, SeekOrigin.Current); byte[] comment_b = new byte[record.dataSize]; stream.Read(comment_b, 0, comment_b.Length); - ImageInfo.imageComments = StringHandlers.CToString(comment_b); - DicConsole.DebugWriteLine("Apridisk plugin", "Comment: \"{0}\"", ImageInfo.imageComments); + ImageInfo.ImageComments = StringHandlers.CToString(comment_b); + DicConsole.DebugWriteLine("Apridisk plugin", "Comment: \"{0}\"", ImageInfo.ImageComments); break; case RecordType.Creator: DicConsole.DebugWriteLine("Apridisk plugin", "Found creator record at {0}", stream.Position); stream.Seek(record.headerSize - recordSize, SeekOrigin.Current); byte[] creator_b = new byte[record.dataSize]; stream.Read(creator_b, 0, creator_b.Length); - ImageInfo.imageCreator = StringHandlers.CToString(creator_b); - DicConsole.DebugWriteLine("Apridisk plugin", "Creator: \"{0}\"", ImageInfo.imageCreator); + ImageInfo.ImageCreator = StringHandlers.CToString(creator_b); + DicConsole.DebugWriteLine("Apridisk plugin", "Creator: \"{0}\"", ImageInfo.ImageCreator); break; case RecordType.Sector: if(record.compression != CompressType.Compressed && @@ -217,8 +217,8 @@ namespace DiscImageChef.ImagePlugins // Total sectors per track uint[][] spts = new uint[totalCylinders][]; - ImageInfo.cylinders = (ushort)totalCylinders; - ImageInfo.heads = (byte)totalHeads; + ImageInfo.Cylinders = (ushort)totalCylinders; + ImageInfo.Heads = (byte)totalHeads; DicConsole.DebugWriteLine("Apridisk plugin", "Found {0} cylinders and {1} heads with a maximum sector number of {2}", @@ -233,7 +233,7 @@ namespace DiscImageChef.ImagePlugins for(int j = 0; j < totalHeads; j++) sectorsData[i][j] = new byte[maxSector + 1][]; } - ImageInfo.sectorSize = uint.MaxValue; + ImageInfo.SectorSize = uint.MaxValue; ulong headersizes = 0; @@ -271,7 +271,7 @@ namespace DiscImageChef.ImagePlugins realLength = Decompress(data, out sectorsData[record.cylinder][record.head][record.sector]); else sectorsData[record.cylinder][record.head][record.sector] = data; - if(realLength < ImageInfo.sectorSize) ImageInfo.sectorSize = realLength; + if(realLength < ImageInfo.SectorSize) ImageInfo.SectorSize = realLength; headersizes += record.headerSize + record.dataSize; @@ -280,36 +280,36 @@ namespace DiscImageChef.ImagePlugins } DicConsole.DebugWriteLine("Apridisk plugin", "Found a minimum of {0} bytes per sector", - ImageInfo.sectorSize); + ImageInfo.SectorSize); // Count sectors per track uint spt = uint.MaxValue; - for(ushort cyl = 0; cyl < ImageInfo.cylinders; cyl++) + for(ushort cyl = 0; cyl < ImageInfo.Cylinders; cyl++) { - for(ushort head = 0; head < ImageInfo.heads; head++) + for(ushort head = 0; head < ImageInfo.Heads; head++) { if(spts[cyl][head] < spt) spt = spts[cyl][head]; } } - ImageInfo.sectorsPerTrack = spt; + ImageInfo.SectorsPerTrack = spt; DicConsole.DebugWriteLine("Apridisk plugin", "Found a minimum of {0} sectors per track", - ImageInfo.sectorsPerTrack); + ImageInfo.SectorsPerTrack); - if(ImageInfo.cylinders == 70 && ImageInfo.heads == 1 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.Apricot_35; - else if(ImageInfo.cylinders == 80 && ImageInfo.heads == 1 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; - else if(ImageInfo.cylinders == 80 && ImageInfo.heads == 2 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + if(ImageInfo.Cylinders == 70 && ImageInfo.Heads == 1 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.Apricot_35; + else if(ImageInfo.Cylinders == 80 && ImageInfo.Heads == 1 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; + else if(ImageInfo.Cylinders == 80 && ImageInfo.Heads == 2 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; - ImageInfo.imageSize = (ulong)stream.Length - headersizes; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = ImageInfo.cylinders * ImageInfo.heads * ImageInfo.sectorsPerTrack; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.ImageSize = (ulong)stream.Length - headersizes; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = ImageInfo.Cylinders * ImageInfo.Heads * ImageInfo.SectorsPerTrack; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; /* FileStream debugFs = new FileStream("debug.img", FileMode.CreateNew, FileAccess.Write); @@ -354,17 +354,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -374,47 +374,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -435,10 +435,10 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); @@ -453,9 +453,9 @@ namespace DiscImageChef.ImagePlugins (ushort cylinder, byte head, byte sector) LbaToChs(ulong lba) { - ushort cylinder = (ushort)(lba / (ImageInfo.heads * ImageInfo.sectorsPerTrack)); - byte head = (byte)((lba / ImageInfo.sectorsPerTrack) % ImageInfo.heads); - byte sector = (byte)((lba % ImageInfo.sectorsPerTrack) + 1); + ushort cylinder = (ushort)(lba / (ImageInfo.Heads * ImageInfo.SectorsPerTrack)); + byte head = (byte)((lba / ImageInfo.SectorsPerTrack) % ImageInfo.Heads); + byte sector = (byte)((lba % ImageInfo.SectorsPerTrack) + 1); return (cylinder, head, sector); } @@ -601,18 +601,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List(); + unknownLbas = new List(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/BLU.cs b/DiscImageChef.DiscImages/BLU.cs index dca25dc94..1eec9e072 100644 --- a/DiscImageChef.DiscImages/BLU.cs +++ b/DiscImageChef.DiscImages/BLU.cs @@ -37,59 +37,59 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class BLU : ImagePlugin + public class Blu : ImagePlugin { #region Internal Structures - struct BLUHeader + struct BluHeader { - public byte[] deviceName; - public uint deviceType; - public uint deviceBlocks; - public ushort bytesPerBlock; + public byte[] DeviceName; + public uint DeviceType; + public uint DeviceBlocks; + public ushort BytesPerBlock; } #endregion Internal Structures #region Internal Constants - const string profileName = "PROFILE "; - const string profile10Name = "PROFILE 10 "; - const string widgetName = "WIDGET-10 "; - const string priamName = "PRIAMDTATOWER"; + const string PROFILE_NAME = "PROFILE "; + const string PROFILE10_NAME = "PROFILE 10 "; + const string WIDGET_NAME = "WIDGET-10 "; + const string PRIAM_NAME = "PRIAMDTATOWER"; #endregion Internal Constants #region Internal variables - BLUHeader ImageHeader; + BluHeader imageHeader; Filter bluImageFilter; int bptag; #endregion Internal variables #region Public methods - public BLU() + public Blu() { Name = "Basic Lisa Utility"; - PluginUUID = new Guid("A153E2F8-4235-432D-9A7F-20807B0BCD74"); + PluginUuid = new Guid("A153E2F8-4235-432D-9A7F-20807B0BCD74"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List(); - ImageInfo.readableMediaTags = new List(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List(); + ImageInfo.ReadableMediaTags = new List(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -102,18 +102,18 @@ namespace DiscImageChef.ImagePlugins byte[] header = new byte[0x17]; stream.Read(header, 0, 0x17); - BLUHeader tmpHdr = new BLUHeader(); - tmpHdr.deviceName = new byte[0x0D]; + BluHeader tmpHdr = new BluHeader(); + tmpHdr.DeviceName = new byte[0x0D]; BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; - Array.Copy(header, 0, tmpHdr.deviceName, 0, 0x0D); - tmpHdr.deviceType = BigEndianBitConverter.ToUInt32(header, 0x0C) & 0x00FFFFFF; - tmpHdr.deviceBlocks = BigEndianBitConverter.ToUInt32(header, 0x11) & 0x00FFFFFF; - tmpHdr.bytesPerBlock = BigEndianBitConverter.ToUInt16(header, 0x15); + Array.Copy(header, 0, tmpHdr.DeviceName, 0, 0x0D); + tmpHdr.DeviceType = BigEndianBitConverter.ToUInt32(header, 0x0C) & 0x00FFFFFF; + tmpHdr.DeviceBlocks = BigEndianBitConverter.ToUInt32(header, 0x11) & 0x00FFFFFF; + tmpHdr.BytesPerBlock = BigEndianBitConverter.ToUInt16(header, 0x15); - for(int i = 0; i < 0xD; i++) { if(tmpHdr.deviceName[i] < 0x20) return false; } + for(int i = 0; i < 0xD; i++) { if(tmpHdr.DeviceName[i] < 0x20) return false; } - if((tmpHdr.bytesPerBlock & 0xFE00) != 0x200) return false; + if((tmpHdr.BytesPerBlock & 0xFE00) != 0x200) return false; return true; } @@ -123,91 +123,91 @@ namespace DiscImageChef.ImagePlugins Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); - ImageHeader = new BLUHeader(); - ImageHeader.deviceName = new byte[0x0D]; + imageHeader = new BluHeader(); + imageHeader.DeviceName = new byte[0x0D]; BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; byte[] header = new byte[0x17]; stream.Read(header, 0, 0x17); - Array.Copy(header, 0, ImageHeader.deviceName, 0, 0x0D); - ImageHeader.deviceType = BigEndianBitConverter.ToUInt32(header, 0x0C) & 0x00FFFFFF; - ImageHeader.deviceBlocks = BigEndianBitConverter.ToUInt32(header, 0x11) & 0x00FFFFFF; - ImageHeader.bytesPerBlock = BigEndianBitConverter.ToUInt16(header, 0x15); + Array.Copy(header, 0, imageHeader.DeviceName, 0, 0x0D); + imageHeader.DeviceType = BigEndianBitConverter.ToUInt32(header, 0x0C) & 0x00FFFFFF; + imageHeader.DeviceBlocks = BigEndianBitConverter.ToUInt32(header, 0x11) & 0x00FFFFFF; + imageHeader.BytesPerBlock = BigEndianBitConverter.ToUInt16(header, 0x15); DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.deviceName = \"{0}\"", - StringHandlers.CToString(ImageHeader.deviceName)); - DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.deviceType = {0}", ImageHeader.deviceType); - DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.deviceBlock = {0}", ImageHeader.deviceBlocks); - DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.bytesPerBlock = {0}", ImageHeader.bytesPerBlock); + StringHandlers.CToString(imageHeader.DeviceName)); + DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.deviceType = {0}", imageHeader.DeviceType); + DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.deviceBlock = {0}", imageHeader.DeviceBlocks); + DicConsole.DebugWriteLine("BLU plugin", "ImageHeader.bytesPerBlock = {0}", imageHeader.BytesPerBlock); - for(int i = 0; i < 0xD; i++) { if(ImageHeader.deviceName[i] < 0x20) return false; } + for(int i = 0; i < 0xD; i++) { if(imageHeader.DeviceName[i] < 0x20) return false; } - if((ImageHeader.bytesPerBlock & 0xFE00) != 0x200) return false; + if((imageHeader.BytesPerBlock & 0xFE00) != 0x200) return false; stream.Seek(0, SeekOrigin.Begin); - header = new byte[ImageHeader.bytesPerBlock]; - stream.Read(header, 0, ImageHeader.bytesPerBlock); + header = new byte[imageHeader.BytesPerBlock]; + stream.Read(header, 0, imageHeader.BytesPerBlock); - ImageInfo.sectorSize = 0x200; + ImageInfo.SectorSize = 0x200; - ImageInfo.sectors = ImageHeader.deviceBlocks; - ImageInfo.imageSize = ImageHeader.deviceBlocks * ImageHeader.bytesPerBlock; - bptag = ImageHeader.bytesPerBlock - 0x200; + ImageInfo.Sectors = imageHeader.DeviceBlocks; + ImageInfo.ImageSize = imageHeader.DeviceBlocks * imageHeader.BytesPerBlock; + bptag = imageHeader.BytesPerBlock - 0x200; byte[] hdrTag = new byte[bptag]; Array.Copy(header, 0x200, hdrTag, 0, bptag); - switch(StringHandlers.CToString(ImageHeader.deviceName)) + switch(StringHandlers.CToString(imageHeader.DeviceName)) { - case profileName: - if(ImageInfo.sectors == 0x2600) ImageInfo.mediaType = MediaType.AppleProfile; - else ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.cylinders = 152; - ImageInfo.heads = 4; - ImageInfo.sectorsPerTrack = 16; + case PROFILE_NAME: + if(ImageInfo.Sectors == 0x2600) ImageInfo.MediaType = MediaType.AppleProfile; + else ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Cylinders = 152; + ImageInfo.Heads = 4; + ImageInfo.SectorsPerTrack = 16; break; - case profile10Name: - if(ImageInfo.sectors == 0x4C00) ImageInfo.mediaType = MediaType.AppleProfile; - else ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.cylinders = 304; - ImageInfo.heads = 4; - ImageInfo.sectorsPerTrack = 16; + case PROFILE10_NAME: + if(ImageInfo.Sectors == 0x4C00) ImageInfo.MediaType = MediaType.AppleProfile; + else ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Cylinders = 304; + ImageInfo.Heads = 4; + ImageInfo.SectorsPerTrack = 16; break; - case widgetName: - if(ImageInfo.sectors == 0x4C00) ImageInfo.mediaType = MediaType.AppleWidget; - else ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.cylinders = 304; - ImageInfo.heads = 4; - ImageInfo.sectorsPerTrack = 16; + case WIDGET_NAME: + if(ImageInfo.Sectors == 0x4C00) ImageInfo.MediaType = MediaType.AppleWidget; + else ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Cylinders = 304; + ImageInfo.Heads = 4; + ImageInfo.SectorsPerTrack = 16; break; - case priamName: - if(ImageInfo.sectors == 0x022C7C) ImageInfo.mediaType = MediaType.PriamDataTower; - else ImageInfo.mediaType = MediaType.GENERIC_HDD; + case PRIAM_NAME: + if(ImageInfo.Sectors == 0x022C7C) ImageInfo.MediaType = MediaType.PriamDataTower; + else ImageInfo.MediaType = MediaType.GENERIC_HDD; // This values are invented... - ImageInfo.cylinders = 419; - ImageInfo.heads = 4; - ImageInfo.sectorsPerTrack = 85; + ImageInfo.Cylinders = 419; + ImageInfo.Heads = 4; + ImageInfo.SectorsPerTrack = 85; break; default: - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; break; } - ImageInfo.imageApplication = StringHandlers.CToString(hdrTag); + ImageInfo.ImageApplication = StringHandlers.CToString(hdrTag); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); bluImageFilter = imageFilter; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - if(bptag > 0) ImageInfo.readableSectorTags.Add(SectorTagType.AppleSectorTag); + if(bptag > 0) ImageInfo.ReadableSectorTags.Add(SectorTagType.AppleSectorTag); - DicConsole.VerboseWriteLine("BLU image contains a disk of type {0}", ImageInfo.mediaType); + DicConsole.VerboseWriteLine("BLU image contains a disk of type {0}", ImageInfo.MediaType); return true; } @@ -223,24 +223,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -253,22 +253,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -283,10 +283,10 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); @@ -295,7 +295,7 @@ namespace DiscImageChef.ImagePlugins int skip = bptag; Stream stream = bluImageFilter.GetDataForkStream(); - stream.Seek((long)((sectorAddress + 1) * ImageHeader.bytesPerBlock), SeekOrigin.Begin); + stream.Seek((long)((sectorAddress + 1) * imageHeader.BytesPerBlock), SeekOrigin.Begin); for(int i = 0; i < length; i++) { @@ -316,10 +316,10 @@ namespace DiscImageChef.ImagePlugins if(bptag == 0) throw new FeatureNotPresentImageException("Disk image does not have tags"); - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); @@ -328,7 +328,7 @@ namespace DiscImageChef.ImagePlugins int skip = 0; Stream stream = bluImageFilter.GetDataForkStream(); - stream.Seek((long)((sectorAddress + 1) * ImageHeader.bytesPerBlock), SeekOrigin.Begin); + stream.Seek((long)((sectorAddress + 1) * imageHeader.BytesPerBlock), SeekOrigin.Begin); for(int i = 0; i < length; i++) { @@ -349,15 +349,15 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageHeader.bytesPerBlock]; + byte[] buffer = new byte[length * imageHeader.BytesPerBlock]; Stream stream = bluImageFilter.GetDataForkStream(); - stream.Seek((long)((sectorAddress + 1) * ImageHeader.bytesPerBlock), SeekOrigin.Begin); + stream.Seek((long)((sectorAddress + 1) * imageHeader.BytesPerBlock), SeekOrigin.Begin); stream.Read(buffer, 0, buffer.Length); return buffer; @@ -370,37 +370,37 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #endregion Public methods @@ -412,62 +412,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List GetPartitions() diff --git a/DiscImageChef.DiscImages/BlindWrite4.cs b/DiscImageChef.DiscImages/BlindWrite4.cs index 3cb6b79dc..c4849bfc3 100644 --- a/DiscImageChef.DiscImages/BlindWrite4.cs +++ b/DiscImageChef.DiscImages/BlindWrite4.cs @@ -41,13 +41,13 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class BlindWrite4 : ImagePlugin { #region Internal Constants /// "BLINDWRITE TOC FILE" - readonly byte[] BW4_Signature = + readonly byte[] bw4Signature = { 0x42, 0x4C, 0x49, 0x4E, 0x44, 0x57, 0x52, 0x49, 0x54, 0x45, 0x20, 0x54, 0x4F, 0x43, 0x20, 0x46, 0x49, 0x4C, 0x45 @@ -55,38 +55,38 @@ namespace DiscImageChef.ImagePlugins #endregion Internal Constants #region Internal Structures - struct BW4_Header + struct Bw4Header { - public byte[] signature; - public uint unknown1; - public ulong timestamp; - public uint volumeIdLength; - public byte[] volumeIdBytes; - public uint sysIdLength; - public byte[] sysIdBytes; - public uint commentsLength; - public byte[] commentsBytes; - public uint trackDescriptors; - public uint dataFileLength; - public byte[] dataFileBytes; - public uint subchannelFileLength; - public byte[] subchannelFileBytes; - public uint unknown2; - public byte unknown3; - public byte[] unknown4; + public byte[] Signature; + public uint Unknown1; + public ulong Timestamp; + public uint VolumeIdLength; + public byte[] VolumeIdBytes; + public uint SysIdLength; + public byte[] SysIdBytes; + public uint CommentsLength; + public byte[] CommentsBytes; + public uint TrackDescriptors; + public uint DataFileLength; + public byte[] DataFileBytes; + public uint SubchannelFileLength; + public byte[] SubchannelFileBytes; + public uint Unknown2; + public byte Unknown3; + public byte[] Unknown4; // On memory only - public string volumeIdentifier; - public string systemIdentifier; - public string comments; - public Filter dataFilter; - public Filter subchannelFilter; - public string dataFile; - public string subchannelFile; + public string VolumeIdentifier; + public string SystemIdentifier; + public string Comments; + public Filter DataFilter; + public Filter SubchannelFilter; + public string DataFile; + public string SubchannelFile; } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct BW4_TrackDescriptor + struct Bw4TrackDescriptor { public uint filenameLen; public byte[] filenameBytes; @@ -99,7 +99,7 @@ namespace DiscImageChef.ImagePlugins public byte unknown4; public byte adrCtl; public byte unknown5; - public BW4_TrackType trackMode; + public Bw4TrackType trackMode; public byte unknown6; public byte point; public uint unknown7; @@ -164,7 +164,7 @@ namespace DiscImageChef.ImagePlugins #endregion Internal Structures #region Internal enumerations - enum BW4_TrackType : byte + enum Bw4TrackType : byte { Audio = 0, Mode1 = 1, @@ -173,8 +173,8 @@ namespace DiscImageChef.ImagePlugins #endregion Internal enumerations #region Internal variables - BW4_Header header; - List bwTracks; + Bw4Header header; + List bwTracks; List tracks; Dictionary offsetmap; List partitions; @@ -188,25 +188,25 @@ namespace DiscImageChef.ImagePlugins public BlindWrite4() { Name = "BlindWrite 4"; - PluginUUID = new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); + PluginUuid = new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List(); - ImageInfo.readableMediaTags = new List(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List(); + ImageInfo.ReadableMediaTags = new List(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -218,7 +218,7 @@ namespace DiscImageChef.ImagePlugins byte[] signature = new byte[19]; stream.Read(signature, 0, 19); - return BW4_Signature.SequenceEqual(signature); + return bw4Signature.SequenceEqual(signature); } public override bool OpenImage(Filter imageFilter) @@ -234,92 +234,92 @@ namespace DiscImageChef.ImagePlugins stream.Read(tmpArray, 0, 19); - if(!BW4_Signature.SequenceEqual(tmpArray)) return false; + if(!bw4Signature.SequenceEqual(tmpArray)) return false; - header = new BW4_Header(); - header.signature = tmpArray; + header = new Bw4Header(); + header.Signature = tmpArray; // Seems to always be 2 stream.Read(tmpUInt, 0, 4); - header.unknown1 = BitConverter.ToUInt32(tmpUInt, 0); + header.Unknown1 = BitConverter.ToUInt32(tmpUInt, 0); // Seems to be a timetamp stream.Read(tmpULong, 0, 8); - header.timestamp = BitConverter.ToUInt64(tmpULong, 0); + header.Timestamp = BitConverter.ToUInt64(tmpULong, 0); stream.Read(tmpUInt, 0, 4); - header.volumeIdLength = BitConverter.ToUInt32(tmpUInt, 0); - tmpArray = new byte[header.volumeIdLength]; + header.VolumeIdLength = BitConverter.ToUInt32(tmpUInt, 0); + tmpArray = new byte[header.VolumeIdLength]; stream.Read(tmpArray, 0, tmpArray.Length); - header.volumeIdBytes = tmpArray; - header.volumeIdentifier = StringHandlers.CToString(header.volumeIdBytes, Encoding.Default); + header.VolumeIdBytes = tmpArray; + header.VolumeIdentifier = StringHandlers.CToString(header.VolumeIdBytes, Encoding.Default); stream.Read(tmpUInt, 0, 4); - header.sysIdLength = BitConverter.ToUInt32(tmpUInt, 0); - tmpArray = new byte[header.sysIdLength]; + header.SysIdLength = BitConverter.ToUInt32(tmpUInt, 0); + tmpArray = new byte[header.SysIdLength]; stream.Read(tmpArray, 0, tmpArray.Length); - header.sysIdBytes = tmpArray; - header.systemIdentifier = StringHandlers.CToString(header.sysIdBytes, Encoding.Default); + header.SysIdBytes = tmpArray; + header.SystemIdentifier = StringHandlers.CToString(header.SysIdBytes, Encoding.Default); stream.Read(tmpUInt, 0, 4); - header.commentsLength = BitConverter.ToUInt32(tmpUInt, 0); - tmpArray = new byte[header.commentsLength]; + header.CommentsLength = BitConverter.ToUInt32(tmpUInt, 0); + tmpArray = new byte[header.CommentsLength]; stream.Read(tmpArray, 0, tmpArray.Length); - header.commentsBytes = tmpArray; - header.comments = StringHandlers.CToString(header.commentsBytes, Encoding.Default); + header.CommentsBytes = tmpArray; + header.Comments = StringHandlers.CToString(header.CommentsBytes, Encoding.Default); stream.Read(tmpUInt, 0, 4); - header.trackDescriptors = BitConverter.ToUInt32(tmpUInt, 0); + header.TrackDescriptors = BitConverter.ToUInt32(tmpUInt, 0); stream.Read(tmpUInt, 0, 4); - header.dataFileLength = BitConverter.ToUInt32(tmpUInt, 0); - tmpArray = new byte[header.dataFileLength]; + header.DataFileLength = BitConverter.ToUInt32(tmpUInt, 0); + tmpArray = new byte[header.DataFileLength]; stream.Read(tmpArray, 0, tmpArray.Length); - header.dataFileBytes = tmpArray; - header.dataFile = StringHandlers.CToString(header.dataFileBytes, Encoding.Default); + header.DataFileBytes = tmpArray; + header.DataFile = StringHandlers.CToString(header.DataFileBytes, Encoding.Default); stream.Read(tmpUInt, 0, 4); - header.subchannelFileLength = BitConverter.ToUInt32(tmpUInt, 0); - tmpArray = new byte[header.subchannelFileLength]; + header.SubchannelFileLength = BitConverter.ToUInt32(tmpUInt, 0); + tmpArray = new byte[header.SubchannelFileLength]; stream.Read(tmpArray, 0, tmpArray.Length); - header.subchannelFileBytes = tmpArray; - header.subchannelFile = StringHandlers.CToString(header.subchannelFileBytes, Encoding.Default); + header.SubchannelFileBytes = tmpArray; + header.SubchannelFile = StringHandlers.CToString(header.SubchannelFileBytes, Encoding.Default); stream.Read(tmpUInt, 0, 4); - header.unknown2 = BitConverter.ToUInt32(tmpUInt, 0); - header.unknown3 = (byte)stream.ReadByte(); - tmpArray = new byte[header.unknown3]; - stream.Read(tmpArray, 0, header.unknown3); - header.unknown4 = tmpArray; + header.Unknown2 = BitConverter.ToUInt32(tmpUInt, 0); + header.Unknown3 = (byte)stream.ReadByte(); + tmpArray = new byte[header.Unknown3]; + stream.Read(tmpArray, 0, header.Unknown3); + header.Unknown4 = tmpArray; DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.signature = {0}", - StringHandlers.CToString(header.signature)); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown1 = {0}", header.unknown1); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.timestamp = {0}", header.timestamp); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.volumeIdLength = {0}", header.volumeIdLength); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.volumeIdentifier = {0}", header.volumeIdentifier); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.sysIdLength = {0}", header.sysIdLength); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.systemIdentifier = {0}", header.systemIdentifier); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.commentsLength = {0}", header.commentsLength); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.comments = {0}", header.comments); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.trackDescriptors = {0}", header.trackDescriptors); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.dataFileLength = {0}", header.dataFileLength); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.dataFilter = {0}", header.dataFilter); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.dataFile = {0}", header.dataFile); + StringHandlers.CToString(header.Signature)); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown1 = {0}", header.Unknown1); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.timestamp = {0}", header.Timestamp); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.volumeIdLength = {0}", header.VolumeIdLength); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.volumeIdentifier = {0}", header.VolumeIdentifier); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.sysIdLength = {0}", header.SysIdLength); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.systemIdentifier = {0}", header.SystemIdentifier); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.commentsLength = {0}", header.CommentsLength); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.comments = {0}", header.Comments); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.trackDescriptors = {0}", header.TrackDescriptors); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.dataFileLength = {0}", header.DataFileLength); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.dataFilter = {0}", header.DataFilter); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.dataFile = {0}", header.DataFile); DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.subchannelFileLength = {0}", - header.subchannelFileLength); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.subchannelFilter = {0}", header.subchannelFilter); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.subchannelFile = {0}", header.subchannelFile); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown2 = {0}", header.unknown2); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown3 = {0}", header.unknown3); - DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown4.Length = {0}", header.unknown4.Length); + header.SubchannelFileLength); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.subchannelFilter = {0}", header.SubchannelFilter); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.subchannelFile = {0}", header.SubchannelFile); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown2 = {0}", header.Unknown2); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown3 = {0}", header.Unknown3); + DicConsole.DebugWriteLine("BlindWrite4 plugin", "header.unknown4.Length = {0}", header.Unknown4.Length); - bwTracks = new List(); + bwTracks = new List(); - for(int i = 0; i < header.trackDescriptors; i++) + for(int i = 0; i < header.TrackDescriptors; i++) { DicConsole.DebugWriteLine("BlindWrite4 plugin", "stream.Position = {0}", stream.Position); - BW4_TrackDescriptor track = new BW4_TrackDescriptor(); + Bw4TrackDescriptor track = new Bw4TrackDescriptor(); stream.Read(tmpUInt, 0, 4); track.filenameLen = BitConverter.ToUInt32(tmpUInt, 0); @@ -344,7 +344,7 @@ namespace DiscImageChef.ImagePlugins track.adrCtl = (byte)stream.ReadByte(); track.unknown5 = (byte)stream.ReadByte(); - track.trackMode = (BW4_TrackType)stream.ReadByte(); + track.trackMode = (Bw4TrackType)stream.ReadByte(); track.unknown6 = (byte)stream.ReadByte(); track.point = (byte)stream.ReadByte(); @@ -545,32 +545,32 @@ namespace DiscImageChef.ImagePlugins FiltersList filtersList = new FiltersList(); - if(!string.IsNullOrEmpty(header.dataFile)) + if(!string.IsNullOrEmpty(header.DataFile)) { while(true) { - dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), header.dataFile)); + dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), header.DataFile)); if(dataFilter != null) break; dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.dataFile.ToLower(CultureInfo + header.DataFile.ToLower(CultureInfo .CurrentCulture))); if(dataFilter != null) break; dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.dataFile.ToUpper(CultureInfo + header.DataFile.ToUpper(CultureInfo .CurrentCulture))); if(dataFilter != null) break; dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.dataFile.Split(new char[] {'\\'}, + header.DataFile.Split(new char[] {'\\'}, StringSplitOptions .RemoveEmptyEntries) .Last())); if(dataFilter != null) break; dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.dataFile.Split(new char[] {'\\'}, + header.DataFile.Split(new char[] {'\\'}, StringSplitOptions .RemoveEmptyEntries) .Last() @@ -578,54 +578,54 @@ namespace DiscImageChef.ImagePlugins if(dataFilter != null) break; dataFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.dataFile.Split(new char[] {'\\'}, + header.DataFile.Split(new char[] {'\\'}, StringSplitOptions .RemoveEmptyEntries) .Last() .ToUpper(CultureInfo.CurrentCulture))); if(dataFilter != null) break; - throw new ArgumentException(string.Format("Data file {0} not found", header.dataFile)); + throw new ArgumentException(string.Format("Data file {0} not found", header.DataFile)); } } else throw new ArgumentException("Unable to find data file"); - if(!string.IsNullOrEmpty(header.subchannelFile)) + if(!string.IsNullOrEmpty(header.SubchannelFile)) { filtersList = new FiltersList(); do { subFilter = - filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), header.subchannelFile)); + filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), header.SubchannelFile)); if(subFilter != null) break; subFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.subchannelFile.ToLower(CultureInfo + header.SubchannelFile.ToLower(CultureInfo .CurrentCulture))); if(subFilter != null) break; subFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.subchannelFile.ToUpper(CultureInfo + header.SubchannelFile.ToUpper(CultureInfo .CurrentCulture))); if(subFilter != null) break; subFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.subchannelFile.Split(new char[] {'\\'}, + header.SubchannelFile.Split(new char[] {'\\'}, StringSplitOptions .RemoveEmptyEntries) .Last())); if(subFilter != null) break; subFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.subchannelFile.Split(new char[] {'\\'}, + header.SubchannelFile.Split(new char[] {'\\'}, StringSplitOptions .RemoveEmptyEntries) .Last().ToLower(CultureInfo.CurrentCulture))); if(subFilter != null) break; subFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - header.subchannelFile.Split(new char[] {'\\'}, + header.SubchannelFile.Split(new char[] {'\\'}, StringSplitOptions .RemoveEmptyEntries) .Last().ToUpper(CultureInfo.CurrentCulture))); @@ -643,7 +643,7 @@ namespace DiscImageChef.ImagePlugins trackFlags = new Dictionary(); ushort maxSession = 0; ulong currentPos = 0; - foreach(BW4_TrackDescriptor bwTrack in bwTracks) + foreach(Bw4TrackDescriptor bwTrack in bwTracks) { if(bwTrack.point < 0xA0) { @@ -719,50 +719,50 @@ namespace DiscImageChef.ImagePlugins if(subFilter != null && bwTrack.subchannel > 0) { track.TrackSubchannelType = TrackSubchannelType.Packed; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); } else track.TrackSubchannelType = TrackSubchannelType.None; switch(bwTrack.trackMode) { - case BW4_TrackType.Audio: + case Bw4TrackType.Audio: track.TrackType = TrackType.Audio; - ImageInfo.sectorSize = 2352; + ImageInfo.SectorSize = 2352; track.TrackBytesPerSector = 2352; break; - case BW4_TrackType.Mode1: - track.TrackType = TrackType.CDMode1; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; + case Bw4TrackType.Mode1: + track.TrackType = TrackType.CdMode1; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; track.TrackBytesPerSector = 2048; break; - case BW4_TrackType.Mode2: - track.TrackType = TrackType.CDMode2Formless; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(ImageInfo.sectorSize < 2336) ImageInfo.sectorSize = 2336; + case Bw4TrackType.Mode2: + track.TrackType = TrackType.CdMode2Formless; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(ImageInfo.SectorSize < 2336) ImageInfo.SectorSize = 2336; track.TrackBytesPerSector = 2336; break; default: track.TrackType = TrackType.Data; track.TrackRawBytesPerSector = 2048; - ImageInfo.sectorSize = 2048; + ImageInfo.SectorSize = 2048; track.TrackBytesPerSector = 2048; break; } @@ -791,17 +791,17 @@ namespace DiscImageChef.ImagePlugins if(!trackFlags.ContainsKey(track.TrackSequence)) trackFlags.Add(track.TrackSequence, (byte)(bwTrack.adrCtl & 0x0F)); - ImageInfo.sectors += (ulong)(bwTrack.lastSector - bwTrack.startSector + 1); + ImageInfo.Sectors += (ulong)(bwTrack.lastSector - bwTrack.startSector + 1); } else { - ImageInfo.mediaBarcode = bwTrack.isrcUpc; - ImageInfo.mediaSerialNumber = bwTrack.discId; - ImageInfo.imageName = bwTrack.title; + ImageInfo.MediaBarcode = bwTrack.isrcUpc; + ImageInfo.MediaSerialNumber = bwTrack.discId; + ImageInfo.ImageName = bwTrack.title; if(!string.IsNullOrEmpty(bwTrack.isrcUpc) && - !ImageInfo.readableMediaTags.Contains(MediaTagType.CD_MCN)) - ImageInfo.readableMediaTags.Add(MediaTagType.CD_MCN); + !ImageInfo.ReadableMediaTags.Contains(MediaTagType.CD_MCN)) + ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_MCN); } } @@ -827,16 +827,16 @@ namespace DiscImageChef.ImagePlugins sessions.Add(session); } - ImageInfo.mediaType = MediaType.CD; + ImageInfo.MediaType = MediaType.CD; - ImageInfo.imageApplication = "BlindWrite"; - ImageInfo.imageApplicationVersion = "4"; - ImageInfo.imageVersion = "4"; + ImageInfo.ImageApplication = "BlindWrite"; + ImageInfo.ImageApplicationVersion = "4"; + ImageInfo.ImageVersion = "4"; - ImageInfo.imageSize = (ulong)dataFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = dataFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = dataFilter.GetLastWriteTime(); - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.ImageSize = (ulong)dataFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = dataFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = dataFilter.GetLastWriteTime(); + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; bool data = false; bool mode2 = false; @@ -860,45 +860,45 @@ namespace DiscImageChef.ImagePlugins switch(_track.TrackType) { - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: mode2 = true; break; } } - if(!data && !firstdata) ImageInfo.mediaType = MediaType.CDDA; - else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.mediaType = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) ImageInfo.mediaType = MediaType.CDROMXA; - else if(!audio) ImageInfo.mediaType = MediaType.CDROM; - else ImageInfo.mediaType = MediaType.CD; + if(!data && !firstdata) ImageInfo.MediaType = MediaType.CDDA; + else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.MediaType = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) ImageInfo.MediaType = MediaType.CDROMXA; + else if(!audio) ImageInfo.MediaType = MediaType.CDROM; + else ImageInfo.MediaType = MediaType.CD; - ImageInfo.imageComments = header.comments; + ImageInfo.ImageComments = header.Comments; - DicConsole.VerboseWriteLine("BlindWrite image describes a disc of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("BlindrWrite comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("BlindWrite image describes a disc of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("BlindrWrite comments: {0}", ImageInfo.ImageComments); return true; } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -907,9 +907,9 @@ namespace DiscImageChef.ImagePlugins { case MediaTagType.CD_MCN: { - if(ImageInfo.mediaSerialNumber != null) + if(ImageInfo.MediaSerialNumber != null) { - return Encoding.ASCII.GetBytes(ImageInfo.mediaSerialNumber); + return Encoding.ASCII.GetBytes(ImageInfo.MediaSerialNumber); } throw new FeatureNotPresentImageException("Image does not contain MCN information."); @@ -1005,60 +1005,60 @@ namespace DiscImageChef.ImagePlugins (_track.TrackEndSector - _track.TrackStartSector + 1))); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { - case TrackType.CDMode1: + case TrackType.CdMode1: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; break; } - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } case TrackType.Data: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream = _track.TrackFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1091,24 +1091,24 @@ namespace DiscImageChef.ImagePlugins (_track.TrackEndSector - _track.TrackStartSector + 1))); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; if(_track.TrackType == TrackType.Data) throw new ArgumentException("Unsupported tag requested", nameof(tag)); switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: byte flag; if(trackFlags.TryGetValue(track, out flag)) return new byte[] {flag}; @@ -1118,84 +1118,84 @@ namespace DiscImageChef.ImagePlugins switch(_track.TrackType) { - case TrackType.CDMode1: + case TrackType.CdMode1: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 0; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 0; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2332; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2332; + sectorSize = 4; + sectorSkip = 0; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1206,7 +1206,7 @@ namespace DiscImageChef.ImagePlugins { switch(tag) { - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1214,23 +1214,23 @@ namespace DiscImageChef.ImagePlugins default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream = _track.TrackFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1293,33 +1293,33 @@ namespace DiscImageChef.ImagePlugins (_track.TrackEndSector - _track.TrackStartSector + 1))); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { case TrackType.Audio: - case TrackType.CDMode1: - case TrackType.CDMode2Formless: + case TrackType.CdMode1: + case TrackType.CdMode2Formless: case TrackType.Data: { - sector_offset = 0; - sector_size = (uint)_track.TrackRawBytesPerSector; - sector_skip = 0; + sectorOffset = 0; + sectorSize = (uint)_track.TrackRawBytesPerSector; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream = _track.TrackFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - buffer = br.ReadBytes((int)(sector_size * length)); + buffer = br.ReadBytes((int)(sectorSize * length)); return buffer; } @@ -1331,17 +1331,17 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List GetPartitions() @@ -1363,10 +1363,10 @@ namespace DiscImageChef.ImagePlugins public override List GetSessionTracks(ushort session) { - List _tracks = new List(); - foreach(Track _track in tracks) { if(_track.TrackSession == session) _tracks.Add(_track); } + List tracks = new List(); + foreach(Track _track in this.tracks) { if(_track.TrackSession == session) tracks.Add(_track); } - return _tracks; + return tracks; } public override List GetSessions() @@ -1377,73 +1377,73 @@ namespace DiscImageChef.ImagePlugins public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -1457,82 +1457,82 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } #endregion Unsupported features } diff --git a/DiscImageChef.DiscImages/BlindWrite5.cs b/DiscImageChef.DiscImages/BlindWrite5.cs index 212a7c22b..9274a740e 100644 --- a/DiscImageChef.DiscImages/BlindWrite5.cs +++ b/DiscImageChef.DiscImages/BlindWrite5.cs @@ -42,21 +42,21 @@ using DiscImageChef.Console; using DiscImageChef.Decoders.SCSI.MMC; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class BlindWrite5 : ImagePlugin { #region Internal Constants /// "BWT5 STREAM SIGN" - readonly byte[] BW5_Signature = + readonly byte[] bw5Signature = {0x42, 0x57, 0x54, 0x35, 0x20, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4D, 0x20, 0x53, 0x49, 0x47, 0x4E}; /// "BWT5 STREAM FOOT" - readonly byte[] BW5_Footer = + readonly byte[] bw5Footer = {0x42, 0x57, 0x54, 0x35, 0x20, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4D, 0x20, 0x46, 0x4F, 0x4F, 0x54}; #endregion Internal Constants #region Internal enumerations - enum BW5_TrackType : byte + enum Bw5TrackType : byte { NotData = 0, Audio = 1, @@ -64,10 +64,10 @@ namespace DiscImageChef.ImagePlugins Mode2 = 3, Mode2F1 = 4, Mode2F2 = 5, - DVD = 6 + Dvd = 6 } - enum BW5_TrackSubchannel : byte + enum Bw5TrackSubchannel : byte { None = 0, Q16 = 2, @@ -77,7 +77,7 @@ namespace DiscImageChef.ImagePlugins #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct BW5_Header + struct Bw5Header { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] signature; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] public uint[] unknown1; @@ -109,29 +109,29 @@ namespace DiscImageChef.ImagePlugins public uint dpmLen; } - struct BW5_DataFile + struct Bw5DataFile { - public uint type; - public uint length; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public uint[] unknown1; - public uint offset; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public uint[] unknown2; - public int startLba; - public int sectors; - public uint filenameLen; - public byte[] filenameBytes; - public uint unknown3; + public uint Type; + public uint Length; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public uint[] Unknown1; + public uint Offset; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public uint[] Unknown2; + public int StartLba; + public int Sectors; + public uint FilenameLen; + public byte[] FilenameBytes; + public uint Unknown3; - public string filename; + public string Filename; } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct BW5_TrackDescriptor + struct Bw5TrackDescriptor { - public BW5_TrackType type; + public Bw5TrackType type; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] unknown1; public uint unknown2; - public BW5_TrackSubchannel subchannel; + public Bw5TrackSubchannel subchannel; public byte unknown3; public byte ctl; public byte adr; @@ -156,31 +156,31 @@ namespace DiscImageChef.ImagePlugins [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)] public uint[] unknown9; } - struct BW5_SessionDescriptor + struct Bw5SessionDescriptor { - public ushort sequence; - public byte entries; - public byte unknown; - public int start; - public int end; - public ushort firstTrack; - public ushort lastTrack; - public BW5_TrackDescriptor[] tracks; + public ushort Sequence; + public byte Entries; + public byte Unknown; + public int Start; + public int End; + public ushort FirstTrack; + public ushort LastTrack; + public Bw5TrackDescriptor[] Tracks; } struct DataFileCharacteristics { - public Filter fileFilter; - public string filePath; - public TrackSubchannelType subchannel; - public long sectorSize; - public int startLba; - public int sectors; + public Filter FileFilter; + public string FilePath; + public TrackSubchannelType Subchannel; + public long SectorSize; + public int StartLba; + public int Sectors; } #endregion Internal Structures #region Internal variables - BW5_Header header; + Bw5Header header; byte[] mode2A; byte[] unkBlock; byte[] pma; @@ -191,8 +191,8 @@ namespace DiscImageChef.ImagePlugins byte[] pfi; byte[] discInformation; string dataPath; - List dataFiles; - List bwSessions; + List dataFiles; + List bwSessions; byte[] dpm; List sessions; List tracks; @@ -208,25 +208,25 @@ namespace DiscImageChef.ImagePlugins public BlindWrite5() { Name = "BlindWrite 5"; - PluginUUID = new Guid("9CB7A381-0509-4F9F-B801-3F65434BC3EE"); + PluginUuid = new Guid("9CB7A381-0509-4F9F-B801-3F65434BC3EE"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List(); - ImageInfo.readableMediaTags = new List(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List(); + ImageInfo.ReadableMediaTags = new List(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -242,7 +242,7 @@ namespace DiscImageChef.ImagePlugins stream.Seek(-16, SeekOrigin.End); stream.Read(footer, 0, 16); - return BW5_Signature.SequenceEqual(signature) && BW5_Footer.SequenceEqual(footer); + return bw5Signature.SequenceEqual(signature) && bw5Footer.SequenceEqual(footer); } public override bool OpenImage(Filter imageFilter) @@ -253,10 +253,10 @@ namespace DiscImageChef.ImagePlugins byte[] hdr = new byte[260]; stream.Read(hdr, 0, 260); - header = new BW5_Header(); + header = new Bw5Header(); IntPtr hdrPtr = Marshal.AllocHGlobal(260); Marshal.Copy(hdr, 0, hdrPtr, 260); - header = (BW5_Header)Marshal.PtrToStructure(hdrPtr, typeof(BW5_Header)); + header = (Bw5Header)Marshal.PtrToStructure(hdrPtr, typeof(Bw5Header)); Marshal.FreeHGlobal(hdrPtr); DicConsole.DebugWriteLine("BlindWrite5 plugin", "header.signature = {0}", @@ -441,165 +441,165 @@ namespace DiscImageChef.ImagePlugins dataPath = Encoding.Unicode.GetString(dataPathBytes); DicConsole.DebugWriteLine("BlindWrite5 plugin", "Data path: {0}", dataPath); - dataFiles = new List(); + dataFiles = new List(); for(int cD = 0; cD < dataBlockCount; cD++) { tmpArray = new byte[52]; - BW5_DataFile dataFile = new BW5_DataFile(); - dataFile.unknown1 = new uint[4]; - dataFile.unknown2 = new uint[3]; + Bw5DataFile dataFile = new Bw5DataFile(); + dataFile.Unknown1 = new uint[4]; + dataFile.Unknown2 = new uint[3]; stream.Read(tmpArray, 0, tmpArray.Length); - dataFile.type = BitConverter.ToUInt32(tmpArray, 0); - dataFile.length = BitConverter.ToUInt32(tmpArray, 4); - dataFile.unknown1[0] = BitConverter.ToUInt32(tmpArray, 8); - dataFile.unknown1[1] = BitConverter.ToUInt32(tmpArray, 12); - dataFile.unknown1[2] = BitConverter.ToUInt32(tmpArray, 16); - dataFile.unknown1[3] = BitConverter.ToUInt32(tmpArray, 20); - dataFile.offset = BitConverter.ToUInt32(tmpArray, 24); - dataFile.unknown2[0] = BitConverter.ToUInt32(tmpArray, 28); - dataFile.unknown2[1] = BitConverter.ToUInt32(tmpArray, 32); - dataFile.unknown2[2] = BitConverter.ToUInt32(tmpArray, 36); - dataFile.startLba = BitConverter.ToInt32(tmpArray, 40); - dataFile.sectors = BitConverter.ToInt32(tmpArray, 44); - dataFile.filenameLen = BitConverter.ToUInt32(tmpArray, 48); - dataFile.filenameBytes = new byte[dataFile.filenameLen]; + dataFile.Type = BitConverter.ToUInt32(tmpArray, 0); + dataFile.Length = BitConverter.ToUInt32(tmpArray, 4); + dataFile.Unknown1[0] = BitConverter.ToUInt32(tmpArray, 8); + dataFile.Unknown1[1] = BitConverter.ToUInt32(tmpArray, 12); + dataFile.Unknown1[2] = BitConverter.ToUInt32(tmpArray, 16); + dataFile.Unknown1[3] = BitConverter.ToUInt32(tmpArray, 20); + dataFile.Offset = BitConverter.ToUInt32(tmpArray, 24); + dataFile.Unknown2[0] = BitConverter.ToUInt32(tmpArray, 28); + dataFile.Unknown2[1] = BitConverter.ToUInt32(tmpArray, 32); + dataFile.Unknown2[2] = BitConverter.ToUInt32(tmpArray, 36); + dataFile.StartLba = BitConverter.ToInt32(tmpArray, 40); + dataFile.Sectors = BitConverter.ToInt32(tmpArray, 44); + dataFile.FilenameLen = BitConverter.ToUInt32(tmpArray, 48); + dataFile.FilenameBytes = new byte[dataFile.FilenameLen]; - tmpArray = new byte[dataFile.filenameLen]; + tmpArray = new byte[dataFile.FilenameLen]; stream.Read(tmpArray, 0, tmpArray.Length); - dataFile.filenameBytes = tmpArray; + dataFile.FilenameBytes = tmpArray; tmpArray = new byte[4]; stream.Read(tmpArray, 0, tmpArray.Length); - dataFile.unknown3 = BitConverter.ToUInt32(tmpArray, 0); + dataFile.Unknown3 = BitConverter.ToUInt32(tmpArray, 0); - dataFile.filename = Encoding.Unicode.GetString(dataFile.filenameBytes); + dataFile.Filename = Encoding.Unicode.GetString(dataFile.FilenameBytes); dataFiles.Add(dataFile); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.type = 0x{0:X8}", dataFile.type); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.length = {0}", dataFile.length); - for(int i = 0; i < dataFile.unknown1.Length; i++) + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.type = 0x{0:X8}", dataFile.Type); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.length = {0}", dataFile.Length); + for(int i = 0; i < dataFile.Unknown1.Length; i++) DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.unknown1[{1}] = {0}", - dataFile.unknown1[i], i); + dataFile.Unknown1[i], i); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.offset = {0}", dataFile.offset); - for(int i = 0; i < dataFile.unknown2.Length; i++) + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.offset = {0}", dataFile.Offset); + for(int i = 0; i < dataFile.Unknown2.Length; i++) DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.unknown2[{1}] = {0}", - dataFile.unknown2[i], i); + dataFile.Unknown2[i], i); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.startLba = {0}", dataFile.startLba); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.sectors = {0}", dataFile.sectors); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.filenameLen = {0}", dataFile.filenameLen); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.filename = {0}", dataFile.filename); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.unknown3 = {0}", dataFile.unknown3); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.startLba = {0}", dataFile.StartLba); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.sectors = {0}", dataFile.Sectors); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.filenameLen = {0}", dataFile.FilenameLen); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.filename = {0}", dataFile.Filename); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "dataFile.unknown3 = {0}", dataFile.Unknown3); } - bwSessions = new List(); + bwSessions = new List(); for(int ses = 0; ses < header.sessions; ses++) { - BW5_SessionDescriptor session = new BW5_SessionDescriptor(); + Bw5SessionDescriptor session = new Bw5SessionDescriptor(); tmpArray = new byte[16]; stream.Read(tmpArray, 0, tmpArray.Length); - session.sequence = BitConverter.ToUInt16(tmpArray, 0); - session.entries = tmpArray[2]; - session.unknown = tmpArray[3]; - session.start = BitConverter.ToInt32(tmpArray, 4); - session.end = BitConverter.ToInt32(tmpArray, 8); - session.firstTrack = BitConverter.ToUInt16(tmpArray, 12); - session.lastTrack = BitConverter.ToUInt16(tmpArray, 14); - session.tracks = new BW5_TrackDescriptor[session.entries]; + session.Sequence = BitConverter.ToUInt16(tmpArray, 0); + session.Entries = tmpArray[2]; + session.Unknown = tmpArray[3]; + session.Start = BitConverter.ToInt32(tmpArray, 4); + session.End = BitConverter.ToInt32(tmpArray, 8); + session.FirstTrack = BitConverter.ToUInt16(tmpArray, 12); + session.LastTrack = BitConverter.ToUInt16(tmpArray, 14); + session.Tracks = new Bw5TrackDescriptor[session.Entries]; - DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].filename = {1}", ses, session.sequence); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].entries = {1}", ses, session.entries); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].unknown = {1}", ses, session.unknown); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].start = {1}", ses, session.start); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].end = {1}", ses, session.end); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].filename = {1}", ses, session.Sequence); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].entries = {1}", ses, session.Entries); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].unknown = {1}", ses, session.Unknown); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].start = {1}", ses, session.Start); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].end = {1}", ses, session.End); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].firstTrack = {1}", ses, - session.firstTrack); - DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].lastTrack = {1}", ses, session.lastTrack); + session.FirstTrack); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].lastTrack = {1}", ses, session.LastTrack); - for(int tSeq = 0; tSeq < session.entries; tSeq++) + for(int tSeq = 0; tSeq < session.Entries; tSeq++) { byte[] trk = new byte[72]; stream.Read(trk, 0, 72); - session.tracks[tSeq] = new BW5_TrackDescriptor(); + session.Tracks[tSeq] = new Bw5TrackDescriptor(); IntPtr trkPtr = Marshal.AllocHGlobal(72); Marshal.Copy(trk, 0, trkPtr, 72); - session.tracks[tSeq] = - (BW5_TrackDescriptor)Marshal.PtrToStructure(trkPtr, typeof(BW5_TrackDescriptor)); + session.Tracks[tSeq] = + (Bw5TrackDescriptor)Marshal.PtrToStructure(trkPtr, typeof(Bw5TrackDescriptor)); Marshal.FreeHGlobal(trkPtr); - if(session.tracks[tSeq].type == BW5_TrackType.DVD || - session.tracks[tSeq].type == BW5_TrackType.NotData) + if(session.Tracks[tSeq].type == Bw5TrackType.Dvd || + session.Tracks[tSeq].type == Bw5TrackType.NotData) { - session.tracks[tSeq].unknown9[0] = 0; - session.tracks[tSeq].unknown9[1] = 0; + session.Tracks[tSeq].unknown9[0] = 0; + session.Tracks[tSeq].unknown9[1] = 0; stream.Seek(-8, SeekOrigin.Current); } DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].type = {2}", ses, tSeq, - session.tracks[tSeq].type); - for(int i = 0; i < session.tracks[tSeq].unknown1.Length; i++) + session.Tracks[tSeq].type); + for(int i = 0; i < session.Tracks[tSeq].unknown1.Length; i++) DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown1[{2}] = 0x{3:X2}", ses, tSeq, i, - session.tracks[tSeq].unknown1[i]); + session.Tracks[tSeq].unknown1[i]); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown2 = 0x{2:X8}", ses, - tSeq, session.tracks[tSeq].unknown2); + tSeq, session.Tracks[tSeq].unknown2); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].subchannel = {2}", ses, - tSeq, session.tracks[tSeq].subchannel); + tSeq, session.Tracks[tSeq].subchannel); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown3 = 0x{2:X2}", ses, - tSeq, session.tracks[tSeq].unknown3); + tSeq, session.Tracks[tSeq].unknown3); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].ctl = {2}", ses, tSeq, - session.tracks[tSeq].ctl); + session.Tracks[tSeq].ctl); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].adr = {2}", ses, tSeq, - session.tracks[tSeq].adr); + session.Tracks[tSeq].adr); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].point = {2}", ses, tSeq, - session.tracks[tSeq].point); + session.Tracks[tSeq].point); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown4 = 0x{2:X2}", ses, - tSeq, session.tracks[tSeq].unknown4); + tSeq, session.Tracks[tSeq].unknown4); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].min = {2}", ses, tSeq, - session.tracks[tSeq].min); + session.Tracks[tSeq].min); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].sec = {2}", ses, tSeq, - session.tracks[tSeq].sec); + session.Tracks[tSeq].sec); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].frame = {2}", ses, tSeq, - session.tracks[tSeq].frame); + session.Tracks[tSeq].frame); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].zero = {2}", ses, tSeq, - session.tracks[tSeq].zero); + session.Tracks[tSeq].zero); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].pmin = {2}", ses, tSeq, - session.tracks[tSeq].pmin); + session.Tracks[tSeq].pmin); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].psec = {2}", ses, tSeq, - session.tracks[tSeq].psec); + session.Tracks[tSeq].psec); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].pframe = {2}", ses, tSeq, - session.tracks[tSeq].pframe); + session.Tracks[tSeq].pframe); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown5 = 0x{2:X2}", ses, - tSeq, session.tracks[tSeq].unknown5); + tSeq, session.Tracks[tSeq].unknown5); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].pregap = {2}", ses, tSeq, - session.tracks[tSeq].pregap); - for(int i = 0; i < session.tracks[tSeq].unknown6.Length; i++) + session.Tracks[tSeq].pregap); + for(int i = 0; i < session.Tracks[tSeq].unknown6.Length; i++) DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown6[{2}] = 0x{3:X8}", ses, tSeq, i, - session.tracks[tSeq].unknown6[i]); + session.Tracks[tSeq].unknown6[i]); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].startLba = {2}", ses, tSeq, - session.tracks[tSeq].startLba); + session.Tracks[tSeq].startLba); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].sectors = {2}", ses, tSeq, - session.tracks[tSeq].sectors); - for(int i = 0; i < session.tracks[tSeq].unknown7.Length; i++) + session.Tracks[tSeq].sectors); + for(int i = 0; i < session.Tracks[tSeq].unknown7.Length; i++) DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown7[{2}] = 0x{3:X8}", ses, tSeq, i, - session.tracks[tSeq].unknown7[i]); + session.Tracks[tSeq].unknown7[i]); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].session = {2}", ses, tSeq, - session.tracks[tSeq].session); + session.Tracks[tSeq].session); DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown8 = 0x{2:X4}", ses, - tSeq, session.tracks[tSeq].unknown8); - if(session.tracks[tSeq].type != BW5_TrackType.DVD && - session.tracks[tSeq].type != BW5_TrackType.NotData) + tSeq, session.Tracks[tSeq].unknown8); + if(session.Tracks[tSeq].type != Bw5TrackType.Dvd && + session.Tracks[tSeq].type != Bw5TrackType.NotData) { - for(int i = 0; i < session.tracks[tSeq].unknown9.Length; i++) + for(int i = 0; i < session.Tracks[tSeq].unknown9.Length; i++) DicConsole.DebugWriteLine("BlindWrite5 plugin", "session[{0}].track[{1}].unknown9[{2}] = 0x{3:X8}", ses, tSeq, i, - session.tracks[tSeq].unknown9[i]); + session.Tracks[tSeq].unknown9[i]); } } @@ -616,7 +616,7 @@ namespace DiscImageChef.ImagePlugins byte[] footer = new byte[16]; stream.Read(footer, 0, footer.Length); - if(BW5_Footer.SequenceEqual(footer)) + if(bw5Footer.SequenceEqual(footer)) DicConsole.DebugWriteLine("BlindWrite5 plugin", "Correctly arrived end of image"); else DicConsole @@ -625,60 +625,60 @@ namespace DiscImageChef.ImagePlugins FiltersList filtersList; filePaths = new List(); - foreach(BW5_DataFile dataFile in dataFiles) + foreach(Bw5DataFile dataFile in dataFiles) { DataFileCharacteristics chars = new DataFileCharacteristics(); - string path = Path.Combine(dataPath, dataFile.filename); + string path = Path.Combine(dataPath, dataFile.Filename); filtersList = new FiltersList(); if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)) != null) { - chars.fileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); - chars.filePath = path; + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); + chars.FilePath = path; } else { - path = Path.Combine(dataPath, dataFile.filename.ToLower(CultureInfo.CurrentCulture)); + path = Path.Combine(dataPath, dataFile.Filename.ToLower(CultureInfo.CurrentCulture)); if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)) != null) { - chars.fileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); - chars.filePath = path; + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); + chars.FilePath = path; } else { - path = Path.Combine(dataPath, dataFile.filename.ToUpper(CultureInfo.CurrentCulture)); + path = Path.Combine(dataPath, dataFile.Filename.ToUpper(CultureInfo.CurrentCulture)); if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)) != null) { - chars.fileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); - chars.filePath = path; + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); + chars.FilePath = path; } else { - path = Path.Combine(dataPath.ToLower(CultureInfo.CurrentCulture), dataFile.filename); + path = Path.Combine(dataPath.ToLower(CultureInfo.CurrentCulture), dataFile.Filename); if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)) != null) { - chars.fileFilter = + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); - chars.filePath = path; + chars.FilePath = path; } else { - path = Path.Combine(dataPath.ToUpper(CultureInfo.CurrentCulture), dataFile.filename); + path = Path.Combine(dataPath.ToUpper(CultureInfo.CurrentCulture), dataFile.Filename); if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)) != null) { - chars.fileFilter = + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path)); - chars.filePath = path; + chars.FilePath = path; } else { - path = Path.Combine(dataPath, dataFile.filename); + path = Path.Combine(dataPath, dataFile.Filename); if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path.ToLower(CultureInfo.CurrentCulture))) != null) { - chars.filePath = path.ToLower(CultureInfo.CurrentCulture); - chars.fileFilter = + chars.FilePath = path.ToLower(CultureInfo.CurrentCulture); + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path.ToLower(CultureInfo .CurrentCulture))); @@ -688,45 +688,45 @@ namespace DiscImageChef.ImagePlugins .CurrentCulture))) != null) { - chars.filePath = path.ToUpper(CultureInfo.CurrentCulture); - chars.fileFilter = + chars.FilePath = path.ToUpper(CultureInfo.CurrentCulture); + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), path.ToUpper(CultureInfo .CurrentCulture))); } else if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - dataFile.filename.ToLower(CultureInfo + dataFile.Filename.ToLower(CultureInfo .CurrentCulture))) != null) { - chars.filePath = dataFile.filename.ToLower(CultureInfo.CurrentCulture); - chars.fileFilter = + chars.FilePath = dataFile.Filename.ToLower(CultureInfo.CurrentCulture); + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - dataFile.filename.ToLower(CultureInfo + dataFile.Filename.ToLower(CultureInfo .CurrentCulture))); } else if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - dataFile.filename.ToUpper(CultureInfo + dataFile.Filename.ToUpper(CultureInfo .CurrentCulture))) != null) { - chars.filePath = dataFile.filename.ToUpper(CultureInfo.CurrentCulture); - chars.fileFilter = + chars.FilePath = dataFile.Filename.ToUpper(CultureInfo.CurrentCulture); + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - dataFile.filename.ToUpper(CultureInfo + dataFile.Filename.ToUpper(CultureInfo .CurrentCulture))); } else if(filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - dataFile.filename)) != null) + dataFile.Filename)) != null) { - chars.filePath = dataFile.filename; - chars.fileFilter = + chars.FilePath = dataFile.Filename; + chars.FileFilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - dataFile.filename)); + dataFile.Filename)); } else { - DicConsole.ErrorWriteLine("Cannot find data file {0}", dataFile.filename); + DicConsole.ErrorWriteLine("Cannot find data file {0}", dataFile.Filename); return false; } } @@ -735,22 +735,22 @@ namespace DiscImageChef.ImagePlugins } } - long sectorSize = dataFile.length / dataFile.sectors; + long sectorSize = dataFile.Length / dataFile.Sectors; if(sectorSize > 2352) { - if((sectorSize - 2352) == 16) chars.subchannel = TrackSubchannelType.Q16Interleaved; - else if((sectorSize - 2352) == 96) chars.subchannel = TrackSubchannelType.PackedInterleaved; + if((sectorSize - 2352) == 16) chars.Subchannel = TrackSubchannelType.Q16Interleaved; + else if((sectorSize - 2352) == 96) chars.Subchannel = TrackSubchannelType.PackedInterleaved; else { DicConsole.ErrorWriteLine("BlindWrite5 found unknown subchannel size: {0}", sectorSize - 2352); return false; } } - else chars.subchannel = TrackSubchannelType.None; + else chars.Subchannel = TrackSubchannelType.None; - chars.sectorSize = sectorSize; - chars.startLba = dataFile.startLba; - chars.sectors = dataFile.sectors; + chars.SectorSize = sectorSize; + chars.StartLba = dataFile.StartLba; + chars.Sectors = dataFile.Sectors; filePaths.Add(chars); } @@ -766,23 +766,23 @@ namespace DiscImageChef.ImagePlugins byte firstSession = byte.MaxValue; byte lastSession = 0; trackFlags = new Dictionary(); - ImageInfo.sectors = 0; + ImageInfo.Sectors = 0; DicConsole.DebugWriteLine("BlindWrite5 plugin", "Building maps"); - foreach(BW5_SessionDescriptor ses in bwSessions) + foreach(Bw5SessionDescriptor ses in bwSessions) { Session session = new Session(); - session.SessionSequence = ses.sequence; - if(ses.start < 0) session.StartSector = 0; - else session.StartSector = (ulong)ses.start; - session.EndSector = (ulong)ses.end; - session.StartTrack = ses.firstTrack; - session.EndTrack = ses.lastTrack; + session.SessionSequence = ses.Sequence; + if(ses.Start < 0) session.StartSector = 0; + else session.StartSector = (ulong)ses.Start; + session.EndSector = (ulong)ses.End; + session.StartTrack = ses.FirstTrack; + session.EndTrack = ses.LastTrack; - if(ses.sequence < firstSession) firstSession = (byte)ses.sequence; - if(ses.sequence > lastSession) lastSession = (byte)ses.sequence; + if(ses.Sequence < firstSession) firstSession = (byte)ses.Sequence; + if(ses.Sequence > lastSession) lastSession = (byte)ses.Sequence; - foreach(BW5_TrackDescriptor trk in ses.tracks) + foreach(Bw5TrackDescriptor trk in ses.Tracks) { byte adrCtl = (byte)((trk.adr << 4) + trk.ctl); fullTocStream.WriteByte((byte)trk.session); @@ -806,57 +806,57 @@ namespace DiscImageChef.ImagePlugins switch(trk.type) { - case BW5_TrackType.Audio: + case Bw5TrackType.Audio: track.TrackBytesPerSector = 2352; track.TrackRawBytesPerSector = 2352; - if(ImageInfo.sectorSize < 2352) ImageInfo.sectorSize = 2352; + if(ImageInfo.SectorSize < 2352) ImageInfo.SectorSize = 2352; break; - case BW5_TrackType.Mode1: - case BW5_TrackType.Mode2F1: - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + case Bw5TrackType.Mode1: + case Bw5TrackType.Mode2F1: + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); track.TrackBytesPerSector = 2048; track.TrackRawBytesPerSector = 2352; - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; break; - case BW5_TrackType.Mode2: - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); + case Bw5TrackType.Mode2: + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); track.TrackBytesPerSector = 2336; track.TrackRawBytesPerSector = 2352; - if(ImageInfo.sectorSize < 2336) ImageInfo.sectorSize = 2336; + if(ImageInfo.SectorSize < 2336) ImageInfo.SectorSize = 2336; break; - case BW5_TrackType.Mode2F2: - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + case Bw5TrackType.Mode2F2: + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); track.TrackBytesPerSector = 2336; track.TrackRawBytesPerSector = 2352; - if(ImageInfo.sectorSize < 2324) ImageInfo.sectorSize = 2324; + if(ImageInfo.SectorSize < 2324) ImageInfo.SectorSize = 2324; break; - case BW5_TrackType.DVD: + case Bw5TrackType.Dvd: track.TrackBytesPerSector = 2048; track.TrackRawBytesPerSector = 2048; - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; isDvd = true; break; } @@ -867,26 +867,26 @@ namespace DiscImageChef.ImagePlugins foreach(DataFileCharacteristics chars in filePaths) { - if(trk.startLba >= chars.startLba && - (trk.startLba + trk.sectors) <= (chars.startLba + chars.sectors)) + if(trk.startLba >= chars.StartLba && + (trk.startLba + trk.sectors) <= (chars.StartLba + chars.Sectors)) { - track.TrackFilter = chars.fileFilter; - track.TrackFile = chars.fileFilter.GetFilename(); + track.TrackFilter = chars.FileFilter; + track.TrackFile = chars.FileFilter.GetFilename(); if(trk.startLba >= 0) - track.TrackFileOffset = (ulong)((trk.startLba - chars.startLba) * chars.sectorSize); - else track.TrackFileOffset = (ulong)((trk.startLba * -1) * chars.sectorSize); + track.TrackFileOffset = (ulong)((trk.startLba - chars.StartLba) * chars.SectorSize); + else track.TrackFileOffset = (ulong)((trk.startLba * -1) * chars.SectorSize); track.TrackFileType = "BINARY"; - if(chars.subchannel != TrackSubchannelType.None) + if(chars.Subchannel != TrackSubchannelType.None) { track.TrackSubchannelFilter = track.TrackFilter; track.TrackSubchannelFile = track.TrackFile; - track.TrackSubchannelType = chars.subchannel; + track.TrackSubchannelType = chars.Subchannel; track.TrackSubchannelOffset = track.TrackFileOffset; - if(chars.subchannel == TrackSubchannelType.PackedInterleaved) + if(chars.Subchannel == TrackSubchannelType.PackedInterleaved) { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); } } @@ -914,7 +914,7 @@ namespace DiscImageChef.ImagePlugins tracks.Add(track); partitions.Add(partition); offsetmap.Add(track.TrackSequence, track.TrackStartSector); - ImageInfo.sectors += partition.Length; + ImageInfo.Sectors += partition.Length; } } } @@ -965,10 +965,10 @@ namespace DiscImageChef.ImagePlugins } else { DicConsole.DebugWriteLine("BlindWrite5 plugin", "TOC correctly rebuilt"); } - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackFlags); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackFlags); } - ImageInfo.mediaType = BlindWriteProfileToMediaType(header.profile); + ImageInfo.MediaType = BlindWriteProfileToMediaType(header.profile); if(dmi != null && pfi != null) { @@ -981,57 +981,57 @@ namespace DiscImageChef.ImagePlugins switch(pfi0.Value.DiskCategory) { case Decoders.DVD.DiskCategory.DVDPR: - ImageInfo.mediaType = MediaType.DVDPR; + ImageInfo.MediaType = MediaType.DVDPR; break; case Decoders.DVD.DiskCategory.DVDPRDL: - ImageInfo.mediaType = MediaType.DVDPRDL; + ImageInfo.MediaType = MediaType.DVDPRDL; break; case Decoders.DVD.DiskCategory.DVDPRW: - ImageInfo.mediaType = MediaType.DVDPRW; + ImageInfo.MediaType = MediaType.DVDPRW; break; case Decoders.DVD.DiskCategory.DVDPRWDL: - ImageInfo.mediaType = MediaType.DVDPRWDL; + ImageInfo.MediaType = MediaType.DVDPRWDL; break; case Decoders.DVD.DiskCategory.DVDR: - if(pfi0.Value.PartVersion == 6) ImageInfo.mediaType = MediaType.DVDRDL; - else ImageInfo.mediaType = MediaType.DVDR; + if(pfi0.Value.PartVersion == 6) ImageInfo.MediaType = MediaType.DVDRDL; + else ImageInfo.MediaType = MediaType.DVDR; break; case Decoders.DVD.DiskCategory.DVDRAM: - ImageInfo.mediaType = MediaType.DVDRAM; + ImageInfo.MediaType = MediaType.DVDRAM; break; default: - ImageInfo.mediaType = MediaType.DVDROM; + ImageInfo.MediaType = MediaType.DVDROM; break; case Decoders.DVD.DiskCategory.DVDRW: - if(pfi0.Value.PartVersion == 3) ImageInfo.mediaType = MediaType.DVDRWDL; - else ImageInfo.mediaType = MediaType.DVDRW; + if(pfi0.Value.PartVersion == 3) ImageInfo.MediaType = MediaType.DVDRWDL; + else ImageInfo.MediaType = MediaType.DVDRW; break; case Decoders.DVD.DiskCategory.HDDVDR: - ImageInfo.mediaType = MediaType.HDDVDR; + ImageInfo.MediaType = MediaType.HDDVDR; break; case Decoders.DVD.DiskCategory.HDDVDRAM: - ImageInfo.mediaType = MediaType.HDDVDRAM; + ImageInfo.MediaType = MediaType.HDDVDRAM; break; case Decoders.DVD.DiskCategory.HDDVDROM: - ImageInfo.mediaType = MediaType.HDDVDROM; + ImageInfo.MediaType = MediaType.HDDVDROM; break; case Decoders.DVD.DiskCategory.HDDVDRW: - ImageInfo.mediaType = MediaType.HDDVDRW; + ImageInfo.MediaType = MediaType.HDDVDRW; break; case Decoders.DVD.DiskCategory.Nintendo: - if(pfi0.Value.DiscSize == Decoders.DVD.DVDSize.Eighty) ImageInfo.mediaType = MediaType.GOD; - else ImageInfo.mediaType = MediaType.WOD; + if(pfi0.Value.DiscSize == Decoders.DVD.DVDSize.Eighty) ImageInfo.MediaType = MediaType.GOD; + else ImageInfo.MediaType = MediaType.WOD; break; case Decoders.DVD.DiskCategory.UMD: - ImageInfo.mediaType = MediaType.UMD; + ImageInfo.MediaType = MediaType.UMD; break; } - if(Decoders.Xbox.DMI.IsXbox(dmi)) ImageInfo.mediaType = MediaType.XGD; - else if(Decoders.Xbox.DMI.IsXbox360(dmi)) ImageInfo.mediaType = MediaType.XGD2; + if(Decoders.Xbox.DMI.IsXbox(dmi)) ImageInfo.MediaType = MediaType.XGD; + else if(Decoders.Xbox.DMI.IsXbox360(dmi)) ImageInfo.MediaType = MediaType.XGD2; } } - else if(ImageInfo.mediaType == MediaType.CD || ImageInfo.mediaType == MediaType.CDROM) + else if(ImageInfo.MediaType == MediaType.CD || ImageInfo.MediaType == MediaType.CDROM) { bool data = false; bool mode2 = false; @@ -1055,35 +1055,35 @@ namespace DiscImageChef.ImagePlugins switch(_track.TrackType) { - case TrackType.CDMode2Formless: - case TrackType.CDMode2Form1: - case TrackType.CDMode2Form2: + case TrackType.CdMode2Formless: + case TrackType.CdMode2Form1: + case TrackType.CdMode2Form2: mode2 = true; break; } } - if(!data && !firstdata) ImageInfo.mediaType = MediaType.CDDA; - else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.mediaType = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) ImageInfo.mediaType = MediaType.CDROMXA; - else if(!audio) ImageInfo.mediaType = MediaType.CDROM; - else ImageInfo.mediaType = MediaType.CD; + if(!data && !firstdata) ImageInfo.MediaType = MediaType.CDDA; + else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.MediaType = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) ImageInfo.MediaType = MediaType.CDROMXA; + else if(!audio) ImageInfo.MediaType = MediaType.CDROM; + else ImageInfo.MediaType = MediaType.CD; } - ImageInfo.driveManufacturer = StringHandlers.CToString(header.manufacturer); - ImageInfo.driveModel = StringHandlers.CToString(header.product); - ImageInfo.driveFirmwareRevision = StringHandlers.CToString(header.revision); - ImageInfo.imageApplication = "BlindWrite"; + ImageInfo.DriveManufacturer = StringHandlers.CToString(header.manufacturer); + ImageInfo.DriveModel = StringHandlers.CToString(header.product); + ImageInfo.DriveFirmwareRevision = StringHandlers.CToString(header.revision); + ImageInfo.ImageApplication = "BlindWrite"; if(string.Compare(Path.GetExtension(imageFilter.GetFilename()), "B5T", - StringComparison.OrdinalIgnoreCase) == 0) ImageInfo.imageApplicationVersion = "5"; + StringComparison.OrdinalIgnoreCase) == 0) ImageInfo.ImageApplicationVersion = "5"; else if(string.Compare(Path.GetExtension(imageFilter.GetFilename()), "B6T", - StringComparison.OrdinalIgnoreCase) == 0) ImageInfo.imageApplicationVersion = "6"; - ImageInfo.imageVersion = "5"; + StringComparison.OrdinalIgnoreCase) == 0) ImageInfo.ImageApplicationVersion = "6"; + ImageInfo.ImageVersion = "5"; - ImageInfo.imageSize = (ulong)imageFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.ImageSize = (ulong)imageFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; if(pma != null) { @@ -1094,7 +1094,7 @@ namespace DiscImageChef.ImagePlugins if(descriptor.ADR == 2) { uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); - ImageInfo.mediaSerialNumber = string.Format("{0:X6}", id & 0x00FFFFFF); + ImageInfo.MediaSerialNumber = string.Format("{0:X6}", id & 0x00FFFFFF); } } } @@ -1103,78 +1103,78 @@ namespace DiscImageChef.ImagePlugins { Decoders.CD.ATIP.CDATIP atip0 = Decoders.CD.ATIP.Decode(atip).Value; - if(atip0.DiscType) ImageInfo.mediaType = MediaType.CDRW; - else ImageInfo.mediaType = MediaType.CDR; + if(atip0.DiscType) ImageInfo.MediaType = MediaType.CDRW; + else ImageInfo.MediaType = MediaType.CDR; if(atip0.LeadInStartMin == 97) { int type = atip0.LeadInStartFrame % 10; int frm = atip0.LeadInStartFrame - type; - ImageInfo.mediaManufacturer = Decoders.CD.ATIP.ManufacturerFromATIP(atip0.LeadInStartSec, frm); + ImageInfo.MediaManufacturer = Decoders.CD.ATIP.ManufacturerFromATIP(atip0.LeadInStartSec, frm); } } - bool isBD = false; - if(ImageInfo.mediaType == MediaType.BDR || ImageInfo.mediaType == MediaType.BDRE || - ImageInfo.mediaType == MediaType.BDROM) + bool isBd = false; + if(ImageInfo.MediaType == MediaType.BDR || ImageInfo.MediaType == MediaType.BDRE || + ImageInfo.MediaType == MediaType.BDROM) { isDvd = false; - isBD = true; + isBd = true; } - if(isBD && ImageInfo.sectors > 24438784) + if(isBd && ImageInfo.Sectors > 24438784) { - if(ImageInfo.mediaType == MediaType.BDR) ImageInfo.mediaType = MediaType.BDRXL; - if(ImageInfo.mediaType == MediaType.BDRE) ImageInfo.mediaType = MediaType.BDREXL; + if(ImageInfo.MediaType == MediaType.BDR) ImageInfo.MediaType = MediaType.BDRXL; + if(ImageInfo.MediaType == MediaType.BDRE) ImageInfo.MediaType = MediaType.BDREXL; } - DicConsole.DebugWriteLine("BlindWrite5 plugin", "ImageInfo.mediaType = {0}", ImageInfo.mediaType); + DicConsole.DebugWriteLine("BlindWrite5 plugin", "ImageInfo.mediaType = {0}", ImageInfo.MediaType); - if(mode2A != null) ImageInfo.readableMediaTags.Add(MediaTagType.SCSI_MODEPAGE_2A); - if(pma != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_PMA); - if(atip != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_ATIP); - if(cdtext != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_TEXT); + if(mode2A != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.SCSI_MODEPAGE_2A); + if(pma != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_PMA); + if(atip != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_ATIP); + if(cdtext != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_TEXT); if(bca != null) { - if(isDvd) ImageInfo.readableMediaTags.Add(MediaTagType.DVD_BCA); - else if(isBD) ImageInfo.readableMediaTags.Add(MediaTagType.BD_BCA); + if(isDvd) ImageInfo.ReadableMediaTags.Add(MediaTagType.DVD_BCA); + else if(isBd) ImageInfo.ReadableMediaTags.Add(MediaTagType.BD_BCA); } - if(dmi != null) ImageInfo.readableMediaTags.Add(MediaTagType.DVD_DMI); - if(pfi != null) ImageInfo.readableMediaTags.Add(MediaTagType.DVD_PFI); - if(fullToc != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_FullTOC); + if(dmi != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.DVD_DMI); + if(pfi != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.DVD_PFI); + if(fullToc != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_FullTOC); - if(ImageInfo.mediaType == MediaType.XGD2) + if(ImageInfo.MediaType == MediaType.XGD2) { // All XGD3 all have the same number of blocks - if(ImageInfo.sectors == 25063 || // Locked (or non compatible drive) - ImageInfo.sectors == 4229664 || // Xtreme unlock - ImageInfo.sectors == 4246304) // Wxripper unlock - ImageInfo.mediaType = MediaType.XGD3; + if(ImageInfo.Sectors == 25063 || // Locked (or non compatible drive) + ImageInfo.Sectors == 4229664 || // Xtreme unlock + ImageInfo.Sectors == 4246304) // Wxripper unlock + ImageInfo.MediaType = MediaType.XGD3; } - DicConsole.VerboseWriteLine("BlindWrite image describes a disc of type {0}", ImageInfo.mediaType); + DicConsole.VerboseWriteLine("BlindWrite image describes a disc of type {0}", ImageInfo.MediaType); return true; } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -1323,99 +1323,99 @@ namespace DiscImageChef.ImagePlugins foreach(DataFileCharacteristics _chars in filePaths) { - if((long)sectorAddress >= _chars.startLba && length < ((ulong)_chars.sectors - sectorAddress)) + if((long)sectorAddress >= _chars.StartLba && length < ((ulong)_chars.Sectors - sectorAddress)) { chars = _chars; break; } } - if(string.IsNullOrEmpty(chars.filePath) || chars.fileFilter == null) - throw new ArgumentOutOfRangeException(nameof(chars.fileFilter), "Track does not exist in disc image"); + if(string.IsNullOrEmpty(chars.FilePath) || chars.FileFilter == null) + throw new ArgumentOutOfRangeException(nameof(chars.FileFilter), "Track does not exist in disc image"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { - case TrackType.CDMode1: + case TrackType.CdMode1: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; break; } - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } - case TrackType.CDMode2Form1: + case TrackType.CdMode2Form1: { - sector_offset = 24; - sector_size = 2048; - sector_skip = 280; + sectorOffset = 24; + sectorSize = 2048; + sectorSkip = 280; break; } - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: { - sector_offset = 24; - sector_size = 2324; - sector_skip = 4; + sectorOffset = 24; + sectorSize = 2324; + sectorSkip = 4; break; } case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } case TrackType.Data: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - switch(chars.subchannel) + switch(chars.Subchannel) { case TrackSubchannelType.None: - sector_skip += 0; + sectorSkip += 0; break; case TrackSubchannelType.Q16Interleaved: - sector_skip += 16; + sectorSkip += 16; break; case TrackSubchannelType.PackedInterleaved: - sector_skip += 96; + sectorSkip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = chars.fileFilter.GetDataForkStream(); + imageStream = chars.FileFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1450,30 +1450,30 @@ namespace DiscImageChef.ImagePlugins foreach(DataFileCharacteristics _chars in filePaths) { - if((long)sectorAddress >= _chars.startLba && length < ((ulong)_chars.sectors - sectorAddress)) + if((long)sectorAddress >= _chars.StartLba && length < ((ulong)_chars.Sectors - sectorAddress)) { chars = _chars; break; } } - if(string.IsNullOrEmpty(chars.filePath) || chars.fileFilter == null) - throw new ArgumentOutOfRangeException(nameof(chars.fileFilter), "Track does not exist in disc image"); + if(string.IsNullOrEmpty(chars.FilePath) || chars.FileFilter == null) + throw new ArgumentOutOfRangeException(nameof(chars.FileFilter), "Track does not exist in disc image"); if(_track.TrackType == TrackType.Data) throw new ArgumentException("Unsupported tag requested", nameof(tag)); switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: byte flag; if(trackFlags.TryGetValue(track, out flag)) return new byte[] {flag}; @@ -1481,186 +1481,186 @@ namespace DiscImageChef.ImagePlugins default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { - case TrackType.CDMode1: + case TrackType.CdMode1: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 0; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 0; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2332; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2332; + sectorSize = 4; + sectorSkip = 0; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; } - case TrackType.CDMode2Form1: + case TrackType.CdMode2Form1: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 16; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 16; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2072; - sector_size = 4; - sector_skip = 276; + sectorOffset = 2072; + sectorSize = 4; + sectorSkip = 276; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 16; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 16; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2348; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2348; + sectorSize = 4; + sectorSkip = 0; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1670,7 +1670,7 @@ namespace DiscImageChef.ImagePlugins { switch(tag) { - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: throw new NotImplementedException("Packed subchannel not yet supported"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1678,37 +1678,37 @@ namespace DiscImageChef.ImagePlugins default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - switch(chars.subchannel) + switch(chars.Subchannel) { case TrackSubchannelType.None: - sector_skip += 0; + sectorSkip += 0; break; case TrackSubchannelType.Q16Interleaved: - sector_skip += 16; + sectorSkip += 16; break; case TrackSubchannelType.PackedInterleaved: - sector_skip += 96; + sectorSkip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream = _track.TrackFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1773,74 +1773,74 @@ namespace DiscImageChef.ImagePlugins foreach(DataFileCharacteristics _chars in filePaths) { - if((long)sectorAddress >= _chars.startLba && length < ((ulong)_chars.sectors - sectorAddress)) + if((long)sectorAddress >= _chars.StartLba && length < ((ulong)_chars.Sectors - sectorAddress)) { chars = _chars; break; } } - if(string.IsNullOrEmpty(chars.filePath) || chars.fileFilter == null) - throw new ArgumentOutOfRangeException(nameof(chars.fileFilter), "Track does not exist in disc image"); + if(string.IsNullOrEmpty(chars.FilePath) || chars.FileFilter == null) + throw new ArgumentOutOfRangeException(nameof(chars.FileFilter), "Track does not exist in disc image"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { - case TrackType.CDMode1: - case TrackType.CDMode2Formless: - case TrackType.CDMode2Form1: - case TrackType.CDMode2Form2: + case TrackType.CdMode1: + case TrackType.CdMode2Formless: + case TrackType.CdMode2Form1: + case TrackType.CdMode2Form2: case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } case TrackType.Data: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - switch(chars.subchannel) + switch(chars.Subchannel) { case TrackSubchannelType.None: - sector_skip += 0; + sectorSkip += 0; break; case TrackSubchannelType.Q16Interleaved: - sector_skip += 16; + sectorSkip += 16; break; case TrackSubchannelType.PackedInterleaved: - sector_skip += 96; + sectorSkip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream = _track.TrackFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.TrackFileOffset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1854,17 +1854,17 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List GetPartitions() @@ -1886,10 +1886,10 @@ namespace DiscImageChef.ImagePlugins public override List GetSessionTracks(ushort session) { - List _tracks = new List(); - foreach(Track _track in tracks) { if(_track.TrackSession == session) _tracks.Add(_track); } + List tracks = new List(); + foreach(Track _track in this.tracks) { if(_track.TrackSession == session) tracks.Add(_track); } - return _tracks; + return tracks; } public override List GetSessions() @@ -1900,73 +1900,73 @@ namespace DiscImageChef.ImagePlugins public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List failingLbas, + out List unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List FailingLBAs, - out List UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List failingLbas, + out List unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List(); - UnknownLBAs = new List(); + failingLbas = new List(); + unknownLbas = new List(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -1978,15 +1978,15 @@ namespace DiscImageChef.ImagePlugins #endregion Public Methods #region Private methods - static TrackType BlindWriteTrackTypeToTrackType(BW5_TrackType trackType) + static TrackType BlindWriteTrackTypeToTrackType(Bw5TrackType trackType) { switch(trackType) { - case BW5_TrackType.Mode1: return TrackType.CDMode1; - case BW5_TrackType.Mode2F1: return TrackType.CDMode2Form1; - case BW5_TrackType.Mode2F2: return TrackType.CDMode2Form2; - case BW5_TrackType.Mode2: return TrackType.CDMode2Formless; - case BW5_TrackType.Audio: return TrackType.Audio; + case Bw5TrackType.Mode1: return TrackType.CdMode1; + case Bw5TrackType.Mode2F1: return TrackType.CdMode2Form1; + case Bw5TrackType.Mode2F2: return TrackType.CdMode2Form2; + case Bw5TrackType.Mode2: return TrackType.CdMode2Formless; + case Bw5TrackType.Audio: return TrackType.Audio; default: return TrackType.Data; } } @@ -2038,82 +2038,82 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } #endregion Unsupported features } diff --git a/DiscImageChef.DiscImages/CDRDAO.cs b/DiscImageChef.DiscImages/CDRDAO.cs index ea3d732c2..fbf4196ee 100644 --- a/DiscImageChef.DiscImages/CDRDAO.cs +++ b/DiscImageChef.DiscImages/CDRDAO.cs @@ -39,123 +39,123 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // TODO: Doesn't support compositing from several files // TODO: Doesn't support silences that are not in files - public class CDRDAO : ImagePlugin + public class Cdrdao : ImagePlugin { #region Internal structures - struct CDRDAOTrackFile + struct CdrdaoTrackFile { /// Track # - public uint sequence; + public uint Sequence; /// Filter of file containing track - public Filter datafilter; + public Filter Datafilter; /// Path of file containing track - public string datafile; + public string Datafile; /// Offset of track start in file - public ulong offset; + public ulong Offset; /// Type of file - public string filetype; + public string Filetype; } - struct CDRDAOTrack + struct CdrdaoTrack { /// Track # - public uint sequence; + public uint Sequence; /// Track title (from CD-Text) - public string title; + public string Title; /// Track genre (from CD-Text) - public string genre; + public string Genre; /// Track arranger (from CD-Text) - public string arranger; + public string Arranger; /// Track composer (from CD-Text) - public string composer; + public string Composer; /// Track performer (from CD-Text) - public string performer; + public string Performer; /// Track song writer (from CD-Text) - public string songwriter; + public string Songwriter; /// Track ISRC - public string isrc; + public string Isrc; /// Disk provider's message (from CD-Text) - public string message; + public string Message; /// File struct for this track - public CDRDAOTrackFile trackfile; + public CdrdaoTrackFile Trackfile; /// Indexes on this track - public Dictionary indexes; + public Dictionary Indexes; /// Track pre-gap in sectors - public ulong pregap; + public ulong Pregap; /// Track post-gap in sectors - public ulong postgap; + public ulong Postgap; /// Digical Copy Permitted - public bool flag_dcp; + public bool FlagDcp; /// Track is quadraphonic - public bool flag_4ch; + public bool Flag_4Ch; /// Track has preemphasis - public bool flag_pre; + public bool FlagPre; /// Bytes per sector - public ushort bps; + public ushort Bps; /// Sectors in track - public ulong sectors; + public ulong Sectors; /// Starting sector in track - public ulong startSector; + public ulong StartSector; /// Track type - public string tracktype; - public bool subchannel; - public bool packedsubchannel; + public string Tracktype; + public bool Subchannel; + public bool Packedsubchannel; } - struct CDRDAODisc + struct CdrdaoDisc { /// Disk title (from CD-Text) - public string title; + public string Title; /// Disk genre (from CD-Text) - public string genre; + public string Genre; /// Disk arranger (from CD-Text) - public string arranger; + public string Arranger; /// Disk composer (from CD-Text) - public string composer; + public string Composer; /// Disk performer (from CD-Text) - public string performer; + public string Performer; /// Disk song writer (from CD-Text) - public string songwriter; + public string Songwriter; /// Disk provider's message (from CD-Text) - public string message; + public string Message; /// Media catalog number - public string mcn; + public string Mcn; /// Disk type - public MediaType disktype; + public MediaType Disktype; /// Disk type string - public string disktypestr; + public string Disktypestr; /// Disk CDDB ID - public string disk_id; + public string DiskId; /// Disk UPC/EAN - public string barcode; + public string Barcode; /// Tracks - public List tracks; + public List Tracks; /// Disk comment - public string comment; + public string Comment; } #endregion Internal structures #region Internal consts /// Audio track, 2352 bytes/sector - const string CDRDAOTrackTypeAudio = "AUDIO"; + const string CDRDAO_TRACK_TYPE_AUDIO = "AUDIO"; /// Mode 1 track, cooked, 2048 bytes/sector - const string CDRDAOTrackTypeMode1 = "MODE1"; + const string CDRDAO_TRACK_TYPE_MODE1 = "MODE1"; /// Mode 1 track, raw, 2352 bytes/sector - const string CDRDAOTrackTypeMode1Raw = "MODE1_RAW"; + const string CDRDAO_TRACK_TYPE_MODE1_RAW = "MODE1_RAW"; /// Mode 2 mixed formless, cooked, 2336 bytes/sector - const string CDRDAOTrackTypeMode2 = "MODE2"; + const string CDRDAO_TRACK_TYPE_MODE2 = "MODE2"; /// Mode 2 form 1 track, cooked, 2048 bytes/sector - const string CDRDAOTrackTypeMode2Form1 = "MODE2_FORM1"; + const string CDRDAO_TRACK_TYPE_MODE2_FORM1 = "MODE2_FORM1"; /// Mode 2 form 2 track, cooked, 2324 bytes/sector - const string CDRDAOTrackTypeMode2Form2 = "MODE2_FORM2"; + const string CDRDAO_TRACK_TYPE_MODE2_FORM2 = "MODE2_FORM2"; /// Mode 2 mixed forms track, cooked, 2336 bytes/sector - const string CDRDAOTrackTypeMode2Mix = "MODE2_FORM_MIX"; + const string CDRDAO_TRACK_TYPE_MODE2_MIX = "MODE2_FORM_MIX"; /// Mode 2 track, raw, 2352 bytes/sector - const string CDRDAOTrackTypeMode2Raw = "MODE2_RAW"; + const string CDRDAO_TRACK_TYPE_MODE2_RAW = "MODE2_RAW"; #endregion Internal consts #region Internal variables @@ -165,72 +165,72 @@ namespace DiscImageChef.ImagePlugins /// Dictionary, index is track #, value is TrackFile Dictionary offsetmap; List partitions; - CDRDAODisc discimage; + CdrdaoDisc discimage; #endregion #region Parsing regexs - const string CommentRegEx = "^\\s*\\/{2}(?.+)$"; - const string DiskTypeRegEx = "^\\s*(?(CD_DA|CD_ROM_XA|CD_ROM|CD_I))"; - const string MCNRegEx = "^\\s*CATALOG\\s*\"(?[\\d]{13,13})\""; - const string TrackRegEx = + const string COMMENT_REGEX = "^\\s*\\/{2}(?.+)$"; + const string DISK_TYPE_REGEX = "^\\s*(?(CD_DA|CD_ROM_XA|CD_ROM|CD_I))"; + const string MCN_REGEX = "^\\s*CATALOG\\s*\"(?[\\d]{13,13})\""; + const string TRACK_REGEX = "^\\s*TRACK\\s*(?(AUDIO|MODE1_RAW|MODE1|MODE2_FORM1|MODE2_FORM2|MODE2_FORM_MIX|MODE2_RAW|MODE2))\\s*(?(RW_RAW|RW))?" ; - const string CopyRegEx = "^\\s*(?NO)?\\s*COPY"; - const string EmphasisRegEx = "^\\s*(?NO)?\\s*PRE_EMPHASIS"; - const string StereoRegEx = "^\\s*(?(TWO|FOUR))_CHANNEL_AUDIO"; - const string ISRCRegEx = "^\\s*ISRC\\s*\"(?[A-Z0-9]{5,5}[0-9]{7,7})\""; - const string IndexRegEx = "^\\s*INDEX\\s*(?
\\d+:\\d+:\\d+)"; - const string PregapRegEx = "^\\s*START\\s*(?
\\d+:\\d+:\\d+)?"; - const string ZeroPregapRegEx = "^\\s*PREGAP\\s*(?\\d+:\\d+:\\d+)"; - const string ZeroDataRegEx = "^\\s*ZERO\\s*(?\\d+:\\d+:\\d+)"; - const string ZeroAudioRegEx = "^\\s*SILENCE\\s*(?\\d+:\\d+:\\d+)"; - const string AudioFileRegEx = + const string COPY_REGEX = "^\\s*(?NO)?\\s*COPY"; + const string EMPHASIS_REGEX = "^\\s*(?NO)?\\s*PRE_EMPHASIS"; + const string STEREO_REGEX = "^\\s*(?(TWO|FOUR))_CHANNEL_AUDIO"; + const string ISRC_REGEX = "^\\s*ISRC\\s*\"(?[A-Z0-9]{5,5}[0-9]{7,7})\""; + const string INDEX_REGEX = "^\\s*INDEX\\s*(?
\\d+:\\d+:\\d+)"; + const string PREGAP_REGEX = "^\\s*START\\s*(?
\\d+:\\d+:\\d+)?"; + const string ZERO_PREGAP_REGEX = "^\\s*PREGAP\\s*(?\\d+:\\d+:\\d+)"; + const string ZERO_DATA_REGEX = "^\\s*ZERO\\s*(?\\d+:\\d+:\\d+)"; + const string ZERO_AUDIO_REGEX = "^\\s*SILENCE\\s*(?\\d+:\\d+:\\d+)"; + const string AUDIO_FILE_REGEX = "^\\s*(AUDIO)?FILE\\s*\"(?.+)\"\\s*(#(?\\d+))?\\s*((?[\\d]+:[\\d]+:[\\d]+)|(?\\d+))\\s*(?[\\d]+:[\\d]+:[\\d]+)?" ; - const string FileRegEx = + const string FILE_REGEX = "^\\s*DATAFILE\\s*\"(?.+)\"\\s*(#(?\\d+))?\\s*(?[\\d]+:[\\d]+:[\\d]+)?"; // CD-Text - const string TitleRegEx = "^\\s*TITLE\\s*\"(?.+)\""; - const string PerformerRegEx = "^\\s*PERFORMER\\s*\"(?<performer>.+)\""; - const string SongwriterRegEx = "^\\s*SONGWRITER\\s*\"(?<songwriter>.+)\""; - const string ComposerRegEx = "^\\s*COMPOSER\\s*\"(?<composer>.+)\""; - const string ArrangerRegEx = "^\\s*ARRANGER\\s*\"(?<arranger>.+)\""; - const string MessageRegEx = "^\\s*MESSAGE\\s*\"(?<message>.+)\""; - const string DiscIDRegEx = "^\\s*DISC_ID\\s*\"(?<discid>.+)\""; - const string UPCRegEx = "^\\s*UPC_EAN\\s*\"(?<catalog>[\\d]{13,13})\""; + const string TITLE_REGEX = "^\\s*TITLE\\s*\"(?<title>.+)\""; + const string PERFORMER_REGEX = "^\\s*PERFORMER\\s*\"(?<performer>.+)\""; + const string SONGWRITER_REGEX = "^\\s*SONGWRITER\\s*\"(?<songwriter>.+)\""; + const string COMPOSER_REGEX = "^\\s*COMPOSER\\s*\"(?<composer>.+)\""; + const string ARRANGER_REGEX = "^\\s*ARRANGER\\s*\"(?<arranger>.+)\""; + const string MESSAGE_REGEX = "^\\s*MESSAGE\\s*\"(?<message>.+)\""; + const string DISC_ID_REGEX = "^\\s*DISC_ID\\s*\"(?<discid>.+)\""; + const string UPC_REGEX = "^\\s*UPC_EAN\\s*\"(?<catalog>[\\d]{13,13})\""; // Unused - const string CDTextRegEx = "^\\s*CD_TEXT\\s*\\{"; - const string LanguageRegEx = "^\\s*LANGUAGE\\s*(?<code>\\d+)\\s*\\{"; - const string ClosureRegEx = "^\\s*\\}"; - const string LanguageMapRegEx = "^\\s*LANGUAGE_MAP\\s*\\{"; - const string LanguageMappingRegEx = "^\\s*(?<code>\\d+)\\s?\\:\\s?(?<language>\\d+|\\w+)"; + const string CD_TEXT_REGEX = "^\\s*CD_TEXT\\s*\\{"; + const string LANGUAGE_REGEX = "^\\s*LANGUAGE\\s*(?<code>\\d+)\\s*\\{"; + const string CLOSURE_REGEX = "^\\s*\\}"; + const string LANGUAGE_MAP_REGEX = "^\\s*LANGUAGE_MAP\\s*\\{"; + const string LANGUAGE_MAPPING_REGEX = "^\\s*(?<code>\\d+)\\s?\\:\\s?(?<language>\\d+|\\w+)"; #endregion #region Public methods - public CDRDAO() + public Cdrdao() { Name = "CDRDAO tocfile"; - PluginUUID = new Guid("04D7BA12-1BE8-44D4-97A4-1B48A505463E"); + PluginUuid = new Guid("04D7BA12-1BE8-44D4-97A4-1B48A505463E"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } #endregion Public methods @@ -261,24 +261,24 @@ namespace DiscImageChef.ImagePlugins } tocStream = new StreamReader(imageFilter.GetDataForkStream()); - string _line; + string line; - Regex Cr = new Regex(CommentRegEx); - Regex Dr = new Regex(DiskTypeRegEx); - Match Dm; - Match Cm; + Regex cr = new Regex(COMMENT_REGEX); + Regex dr = new Regex(DISK_TYPE_REGEX); + Match dm; + Match cm; while(tocStream.Peek() >= 0) { - _line = tocStream.ReadLine(); + line = tocStream.ReadLine(); - Dm = Dr.Match(_line); - Cm = Cr.Match(_line); + dm = dr.Match(line); + cm = cr.Match(line); // Skip comments at start of file - if(Cm.Success) continue; + if(cm.Success) continue; - return Dm.Success; + return dm.Success; } return false; @@ -308,74 +308,74 @@ namespace DiscImageChef.ImagePlugins bool intrack = false; // Initialize all RegExs - Regex RegexComment = new Regex(CommentRegEx); - Regex RegexDiskType = new Regex(DiskTypeRegEx); - Regex RegexMCN = new Regex(MCNRegEx); - Regex RegexTrack = new Regex(TrackRegEx); - Regex RegexCopy = new Regex(CopyRegEx); - Regex RegexEmphasis = new Regex(EmphasisRegEx); - Regex RegexStereo = new Regex(StereoRegEx); - Regex RegexISRC = new Regex(ISRCRegEx); - Regex RegexIndex = new Regex(IndexRegEx); - Regex RegexPregap = new Regex(PregapRegEx); - Regex RegexZeroPregap = new Regex(ZeroPregapRegEx); - Regex RegexZeroData = new Regex(ZeroDataRegEx); - Regex RegexZeroAudio = new Regex(ZeroAudioRegEx); - Regex RegexAudioFile = new Regex(AudioFileRegEx); - Regex RegexFile = new Regex(FileRegEx); - Regex RegexTitle = new Regex(TitleRegEx); - Regex RegexPerformer = new Regex(PerformerRegEx); - Regex RegexSongwriter = new Regex(SongwriterRegEx); - Regex RegexComposer = new Regex(ComposerRegEx); - Regex RegexArranger = new Regex(ArrangerRegEx); - Regex RegexMessage = new Regex(MessageRegEx); - Regex RegexDiscID = new Regex(DiscIDRegEx); - Regex RegexUPC = new Regex(UPCRegEx); - Regex RegexCDText = new Regex(CDTextRegEx); - Regex RegexLanguage = new Regex(LanguageRegEx); - Regex RegexClosure = new Regex(ClosureRegEx); - Regex RegexLanguageMap = new Regex(LanguageMapRegEx); - Regex RegexLanguageMapping = new Regex(LanguageMappingRegEx); + Regex regexComment = new Regex(COMMENT_REGEX); + Regex regexDiskType = new Regex(DISK_TYPE_REGEX); + Regex regexMcn = new Regex(MCN_REGEX); + Regex regexTrack = new Regex(TRACK_REGEX); + Regex regexCopy = new Regex(COPY_REGEX); + Regex regexEmphasis = new Regex(EMPHASIS_REGEX); + Regex regexStereo = new Regex(STEREO_REGEX); + Regex regexIsrc = new Regex(ISRC_REGEX); + Regex regexIndex = new Regex(INDEX_REGEX); + Regex regexPregap = new Regex(PREGAP_REGEX); + Regex regexZeroPregap = new Regex(ZERO_PREGAP_REGEX); + Regex regexZeroData = new Regex(ZERO_DATA_REGEX); + Regex regexZeroAudio = new Regex(ZERO_AUDIO_REGEX); + Regex regexAudioFile = new Regex(AUDIO_FILE_REGEX); + Regex regexFile = new Regex(FILE_REGEX); + Regex regexTitle = new Regex(TITLE_REGEX); + Regex regexPerformer = new Regex(PERFORMER_REGEX); + Regex regexSongwriter = new Regex(SONGWRITER_REGEX); + Regex regexComposer = new Regex(COMPOSER_REGEX); + Regex regexArranger = new Regex(ARRANGER_REGEX); + Regex regexMessage = new Regex(MESSAGE_REGEX); + Regex regexDiscId = new Regex(DISC_ID_REGEX); + Regex regexUpc = new Regex(UPC_REGEX); + Regex regexCdText = new Regex(CD_TEXT_REGEX); + Regex regexLanguage = new Regex(LANGUAGE_REGEX); + Regex regexClosure = new Regex(CLOSURE_REGEX); + Regex regexLanguageMap = new Regex(LANGUAGE_MAP_REGEX); + Regex regexLanguageMapping = new Regex(LANGUAGE_MAPPING_REGEX); // Initialize all RegEx matches - Match MatchComment; - Match MatchDiskType; - Match MatchMCN; - Match MatchTrack; - Match MatchCopy; - Match MatchEmphasis; - Match MatchStereo; - Match MatchISRC; - Match MatchIndex; - Match MatchPregap; - Match MatchZeroPregap; - Match MatchZeroData; - Match MatchZeroAudio; - Match MatchAudioFile; - Match MatchFile; - Match MatchTitle; - Match MatchPerformer; - Match MatchSongwriter; - Match MatchComposer; - Match MatchArranger; - Match MatchMessage; - Match MatchDiscID; - Match MatchUPC; - Match MatchCDText; - Match MatchLanguage; - Match MatchClosure; - Match MatchLanguageMap; - Match MatchLanguageMapping; + Match matchComment; + Match matchDiskType; + Match matchMcn; + Match matchTrack; + Match matchCopy; + Match matchEmphasis; + Match matchStereo; + Match matchIsrc; + Match matchIndex; + Match matchPregap; + Match matchZeroPregap; + Match matchZeroData; + Match matchZeroAudio; + Match matchAudioFile; + Match matchFile; + Match matchTitle; + Match matchPerformer; + Match matchSongwriter; + Match matchComposer; + Match matchArranger; + Match matchMessage; + Match matchDiscId; + Match matchUpc; + Match matchCdText; + Match matchLanguage; + Match matchClosure; + Match matchLanguageMap; + Match matchLanguageMapping; // Initialize disc - discimage = new CDRDAODisc(); - discimage.tracks = new List<CDRDAOTrack>(); - discimage.comment = ""; + discimage = new CdrdaoDisc(); + discimage.Tracks = new List<CdrdaoTrack>(); + discimage.Comment = ""; - CDRDAOTrack currenttrack = new CDRDAOTrack(); + CdrdaoTrack currenttrack = new CdrdaoTrack(); uint currentTrackNumber = 0; - currenttrack.indexes = new Dictionary<int, ulong>(); - currenttrack.pregap = 0; + currenttrack.Indexes = new Dictionary<int, ulong>(); + currenttrack.Pregap = 0; ulong currentSector = 0; int nextindex = 2; StringBuilder commentBuilder = new StringBuilder(); @@ -388,13 +388,13 @@ namespace DiscImageChef.ImagePlugins line++; _line = tocStream.ReadLine(); - MatchDiskType = RegexDiskType.Match(_line); - MatchComment = RegexComment.Match(_line); + matchDiskType = regexDiskType.Match(_line); + matchComment = regexComment.Match(_line); // Skip comments at start of file - if(MatchComment.Success) continue; + if(matchComment.Success) continue; - if(!MatchDiskType.Success) + if(!matchDiskType.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Not a CDRDAO TOC or TOC type not in line {0}.", line); @@ -414,340 +414,340 @@ namespace DiscImageChef.ImagePlugins line++; _line = tocStream.ReadLine(); - MatchComment = RegexComment.Match(_line); - MatchDiskType = RegexDiskType.Match(_line); - MatchMCN = RegexMCN.Match(_line); - MatchTrack = RegexTrack.Match(_line); - MatchCopy = RegexCopy.Match(_line); - MatchEmphasis = RegexEmphasis.Match(_line); - MatchStereo = RegexStereo.Match(_line); - MatchISRC = RegexISRC.Match(_line); - MatchIndex = RegexIndex.Match(_line); - MatchPregap = RegexPregap.Match(_line); - MatchZeroPregap = RegexZeroPregap.Match(_line); - MatchZeroData = RegexZeroData.Match(_line); - MatchZeroAudio = RegexZeroAudio.Match(_line); - MatchAudioFile = RegexAudioFile.Match(_line); - MatchFile = RegexFile.Match(_line); - MatchTitle = RegexTitle.Match(_line); - MatchPerformer = RegexPerformer.Match(_line); - MatchSongwriter = RegexSongwriter.Match(_line); - MatchComposer = RegexComposer.Match(_line); - MatchArranger = RegexArranger.Match(_line); - MatchMessage = RegexMessage.Match(_line); - MatchDiscID = RegexDiscID.Match(_line); - MatchUPC = RegexUPC.Match(_line); - MatchCDText = RegexCDText.Match(_line); - MatchLanguage = RegexLanguage.Match(_line); - MatchClosure = RegexClosure.Match(_line); - MatchLanguageMap = RegexLanguageMap.Match(_line); - MatchLanguageMapping = RegexLanguageMapping.Match(_line); + matchComment = regexComment.Match(_line); + matchDiskType = regexDiskType.Match(_line); + matchMcn = regexMcn.Match(_line); + matchTrack = regexTrack.Match(_line); + matchCopy = regexCopy.Match(_line); + matchEmphasis = regexEmphasis.Match(_line); + matchStereo = regexStereo.Match(_line); + matchIsrc = regexIsrc.Match(_line); + matchIndex = regexIndex.Match(_line); + matchPregap = regexPregap.Match(_line); + matchZeroPregap = regexZeroPregap.Match(_line); + matchZeroData = regexZeroData.Match(_line); + matchZeroAudio = regexZeroAudio.Match(_line); + matchAudioFile = regexAudioFile.Match(_line); + matchFile = regexFile.Match(_line); + matchTitle = regexTitle.Match(_line); + matchPerformer = regexPerformer.Match(_line); + matchSongwriter = regexSongwriter.Match(_line); + matchComposer = regexComposer.Match(_line); + matchArranger = regexArranger.Match(_line); + matchMessage = regexMessage.Match(_line); + matchDiscId = regexDiscId.Match(_line); + matchUpc = regexUpc.Match(_line); + matchCdText = regexCdText.Match(_line); + matchLanguage = regexLanguage.Match(_line); + matchClosure = regexClosure.Match(_line); + matchLanguageMap = regexLanguageMap.Match(_line); + matchLanguageMapping = regexLanguageMapping.Match(_line); - if(MatchComment.Success) + if(matchComment.Success) { // Ignore "// Track X" comments - if(!MatchComment.Groups["comment"].Value.StartsWith(" Track ", StringComparison.Ordinal)) + if(!matchComment.Groups["comment"].Value.StartsWith(" Track ", StringComparison.Ordinal)) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found comment \"{1}\" at line {0}", line, - MatchComment.Groups["comment"].Value.Trim()); - commentBuilder.AppendLine(MatchComment.Groups["comment"].Value.Trim()); + matchComment.Groups["comment"].Value.Trim()); + commentBuilder.AppendLine(matchComment.Groups["comment"].Value.Trim()); } } - else if(MatchDiskType.Success) + else if(matchDiskType.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found {1} at line {0}", line, - MatchDiskType.Groups["type"].Value); - discimage.disktypestr = MatchDiskType.Groups["type"].Value; - switch(MatchDiskType.Groups["type"].Value) + matchDiskType.Groups["type"].Value); + discimage.Disktypestr = matchDiskType.Groups["type"].Value; + switch(matchDiskType.Groups["type"].Value) { case "CD_DA": - discimage.disktype = MediaType.CDDA; + discimage.Disktype = MediaType.CDDA; break; case "CD_ROM": - discimage.disktype = MediaType.CDROM; + discimage.Disktype = MediaType.CDROM; break; case "CD_ROM_XA": - discimage.disktype = MediaType.CDROMXA; + discimage.Disktype = MediaType.CDROMXA; break; case "CD_I": - discimage.disktype = MediaType.CDI; + discimage.Disktype = MediaType.CDI; break; default: - discimage.disktype = MediaType.CD; + discimage.Disktype = MediaType.CD; break; } } - else if(MatchMCN.Success) + else if(matchMcn.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found CATALOG \"{1}\" at line {0}", line, - MatchMCN.Groups["catalog"].Value); - discimage.mcn = MatchMCN.Groups["catalog"].Value; + matchMcn.Groups["catalog"].Value); + discimage.Mcn = matchMcn.Groups["catalog"].Value; } - else if(MatchTrack.Success) + else if(matchTrack.Success) { - if(MatchTrack.Groups["subchan"].Value == "") + if(matchTrack.Groups["subchan"].Value == "") DicConsole.DebugWriteLine("CDRDAO plugin", "Found TRACK type \"{1}\" with no subchannel at line {0}", line, - MatchTrack.Groups["type"].Value); + matchTrack.Groups["type"].Value); else DicConsole.DebugWriteLine("CDRDAO plugin", "Found TRACK type \"{1}\" subchannel {2} at line {0}", line, - MatchTrack.Groups["type"].Value, - MatchTrack.Groups["subchan"].Value); + matchTrack.Groups["type"].Value, + matchTrack.Groups["subchan"].Value); if(intrack) { - currentSector += currenttrack.sectors; - if(currenttrack.pregap != currenttrack.sectors && !currenttrack.indexes.ContainsKey(1)) - currenttrack.indexes.Add(1, currenttrack.startSector + currenttrack.pregap); - discimage.tracks.Add(currenttrack); - currenttrack = new CDRDAOTrack(); - currenttrack.indexes = new Dictionary<int, ulong>(); - currenttrack.pregap = 0; + currentSector += currenttrack.Sectors; + if(currenttrack.Pregap != currenttrack.Sectors && !currenttrack.Indexes.ContainsKey(1)) + currenttrack.Indexes.Add(1, currenttrack.StartSector + currenttrack.Pregap); + discimage.Tracks.Add(currenttrack); + currenttrack = new CdrdaoTrack(); + currenttrack.Indexes = new Dictionary<int, ulong>(); + currenttrack.Pregap = 0; nextindex = 2; } currentTrackNumber++; intrack = true; - switch(MatchTrack.Groups["type"].Value) + switch(matchTrack.Groups["type"].Value) { case "AUDIO": case "MODE1_RAW": case "MODE2_RAW": - currenttrack.bps = 2352; + currenttrack.Bps = 2352; break; case "MODE1": case "MODE2_FORM1": - currenttrack.bps = 2048; + currenttrack.Bps = 2048; break; case "MODE2_FORM2": - currenttrack.bps = 2324; + currenttrack.Bps = 2324; break; case "MODE2": case "MODE2_FORM_MIX": - currenttrack.bps = 2336; + currenttrack.Bps = 2336; break; default: throw new NotSupportedException(string.Format("Track mode {0} is unsupported", - MatchTrack.Groups["type"].Value)); + matchTrack.Groups["type"].Value)); } - switch(MatchTrack.Groups["subchan"].Value) + switch(matchTrack.Groups["subchan"].Value) { case "": break; case "RW": - currenttrack.packedsubchannel = true; + currenttrack.Packedsubchannel = true; goto case "RW_RAW"; case "RW_RAW": - currenttrack.bps += 96; - currenttrack.subchannel = true; + currenttrack.Bps += 96; + currenttrack.Subchannel = true; break; default: throw new NotSupportedException(string.Format("Track subchannel mode {0} is unsupported", - MatchTrack.Groups["subchan"].Value)); + matchTrack.Groups["subchan"].Value)); } - currenttrack.tracktype = MatchTrack.Groups["type"].Value; + currenttrack.Tracktype = matchTrack.Groups["type"].Value; - currenttrack.sequence = currentTrackNumber; - currenttrack.startSector = currentSector; + currenttrack.Sequence = currentTrackNumber; + currenttrack.StartSector = currentSector; } - else if(MatchCopy.Success) + else if(matchCopy.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found {1} COPY at line {0}", line, - MatchCopy.Groups["no"].Value); - currenttrack.flag_dcp |= intrack && MatchCopy.Groups["no"].Value == ""; + matchCopy.Groups["no"].Value); + currenttrack.FlagDcp |= intrack && matchCopy.Groups["no"].Value == ""; } - else if(MatchEmphasis.Success) + else if(matchEmphasis.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found {1} PRE_EMPHASIS at line {0}", line, - MatchEmphasis.Groups["no"].Value); - currenttrack.flag_pre |= intrack && MatchCopy.Groups["no"].Value == ""; + matchEmphasis.Groups["no"].Value); + currenttrack.FlagPre |= intrack && matchCopy.Groups["no"].Value == ""; } - else if(MatchStereo.Success) + else if(matchStereo.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found {1}_CHANNEL_AUDIO at line {0}", line, - MatchStereo.Groups["num"].Value); - currenttrack.flag_4ch |= intrack && MatchCopy.Groups["num"].Value == "FOUR"; + matchStereo.Groups["num"].Value); + currenttrack.Flag_4Ch |= intrack && matchCopy.Groups["num"].Value == "FOUR"; } - else if(MatchISRC.Success) + else if(matchIsrc.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found ISRC \"{1}\" at line {0}", line, - MatchISRC.Groups["isrc"].Value); - if(intrack) currenttrack.isrc = MatchISRC.Groups["isrc"].Value; + matchIsrc.Groups["isrc"].Value); + if(intrack) currenttrack.Isrc = matchIsrc.Groups["isrc"].Value; } - else if(MatchIndex.Success) + else if(matchIndex.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found INDEX \"{1}\" at line {0}", line, - MatchIndex.Groups["address"].Value); + matchIndex.Groups["address"].Value); - string[] lengthString = MatchFile.Groups["length"].Value.Split(new char[] {':'}); + string[] lengthString = matchFile.Groups["length"].Value.Split(new char[] {':'}); ulong nextIndexPos = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]); - currenttrack.indexes.Add(nextindex, - nextIndexPos + currenttrack.pregap + currenttrack.startSector); + currenttrack.Indexes.Add(nextindex, + nextIndexPos + currenttrack.Pregap + currenttrack.StartSector); } - else if(MatchPregap.Success) + else if(matchPregap.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found START \"{1}\" at line {0}", line, - MatchPregap.Groups["address"].Value); + matchPregap.Groups["address"].Value); - currenttrack.indexes.Add(0, currenttrack.startSector); - if(MatchPregap.Groups["address"].Value != "") + currenttrack.Indexes.Add(0, currenttrack.StartSector); + if(matchPregap.Groups["address"].Value != "") { - string[] lengthString = MatchPregap.Groups["address"].Value.Split(new char[] {':'}); - currenttrack.pregap = ulong.Parse(lengthString[0]) * 60 * 75 + + string[] lengthString = matchPregap.Groups["address"].Value.Split(new char[] {':'}); + currenttrack.Pregap = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]); } - else currenttrack.pregap = currenttrack.sectors; + else currenttrack.Pregap = currenttrack.Sectors; } - else if(MatchZeroPregap.Success) + else if(matchZeroPregap.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found PREGAP \"{1}\" at line {0}", line, - MatchZeroPregap.Groups["length"].Value); - currenttrack.indexes.Add(0, currenttrack.startSector); - string[] lengthString = MatchZeroPregap.Groups["length"].Value.Split(new char[] {':'}); - currenttrack.pregap = ulong.Parse(lengthString[0]) * 60 * 75 + + matchZeroPregap.Groups["length"].Value); + currenttrack.Indexes.Add(0, currenttrack.StartSector); + string[] lengthString = matchZeroPregap.Groups["length"].Value.Split(new char[] {':'}); + currenttrack.Pregap = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]); } - else if(MatchZeroData.Success) + else if(matchZeroData.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found ZERO \"{1}\" at line {0}", line, - MatchZeroData.Groups["length"].Value); + matchZeroData.Groups["length"].Value); // Seems can be ignored as the data is still in the image } - else if(MatchZeroAudio.Success) + else if(matchZeroAudio.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found SILENCE \"{1}\" at line {0}", line, - MatchZeroAudio.Groups["length"].Value); + matchZeroAudio.Groups["length"].Value); // Seems can be ignored as the data is still in the image } - else if(MatchAudioFile.Success) + else if(matchAudioFile.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found AUDIOFILE \"{1}\" at line {0}", line, - MatchAudioFile.Groups["filename"].Value); + matchAudioFile.Groups["filename"].Value); filtersList = new FiltersList(); - currenttrack.trackfile = new CDRDAOTrackFile(); - currenttrack.trackfile.datafilter = + currenttrack.Trackfile = new CdrdaoTrackFile(); + currenttrack.Trackfile.Datafilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - MatchAudioFile.Groups["filename"].Value)); - currenttrack.trackfile.datafile = MatchAudioFile.Groups["filename"].Value; - currenttrack.trackfile.offset = MatchAudioFile.Groups["base_offset"].Value != "" - ? ulong.Parse(MatchAudioFile.Groups["base_offset"].Value) + matchAudioFile.Groups["filename"].Value)); + currenttrack.Trackfile.Datafile = matchAudioFile.Groups["filename"].Value; + currenttrack.Trackfile.Offset = matchAudioFile.Groups["base_offset"].Value != "" + ? ulong.Parse(matchAudioFile.Groups["base_offset"].Value) : 0; - currenttrack.trackfile.filetype = "BINARY"; - currenttrack.trackfile.sequence = currentTrackNumber; + currenttrack.Trackfile.Filetype = "BINARY"; + currenttrack.Trackfile.Sequence = currentTrackNumber; ulong startSectors = 0; - if(MatchAudioFile.Groups["start"].Value != "") + if(matchAudioFile.Groups["start"].Value != "") { - string[] startString = MatchAudioFile.Groups["start"].Value.Split(new char[] {':'}); + string[] startString = matchAudioFile.Groups["start"].Value.Split(new char[] {':'}); startSectors = ulong.Parse(startString[0]) * 60 * 75 + ulong.Parse(startString[1]) * 75 + ulong.Parse(startString[2]); } - currenttrack.trackfile.offset += (startSectors * currenttrack.bps); + currenttrack.Trackfile.Offset += (startSectors * currenttrack.Bps); - if(MatchAudioFile.Groups["length"].Value != "") + if(matchAudioFile.Groups["length"].Value != "") { - string[] lengthString = MatchAudioFile.Groups["length"].Value.Split(new char[] {':'}); - currenttrack.sectors = ulong.Parse(lengthString[0]) * 60 * 75 + + string[] lengthString = matchAudioFile.Groups["length"].Value.Split(new char[] {':'}); + currenttrack.Sectors = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]); } else - currenttrack.sectors = - ((ulong)currenttrack.trackfile.datafilter.GetDataForkLength() - - currenttrack.trackfile.offset) / currenttrack.bps; + currenttrack.Sectors = + ((ulong)currenttrack.Trackfile.Datafilter.GetDataForkLength() - + currenttrack.Trackfile.Offset) / currenttrack.Bps; } - else if(MatchFile.Success) + else if(matchFile.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found DATAFILE \"{1}\" at line {0}", line, - MatchFile.Groups["filename"].Value); + matchFile.Groups["filename"].Value); filtersList = new FiltersList(); - currenttrack.trackfile = new CDRDAOTrackFile(); - currenttrack.trackfile.datafilter = + currenttrack.Trackfile = new CdrdaoTrackFile(); + currenttrack.Trackfile.Datafilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - MatchFile.Groups["filename"].Value)); - currenttrack.trackfile.datafile = MatchAudioFile.Groups["filename"].Value; - currenttrack.trackfile.offset = MatchFile.Groups["base_offset"].Value != "" - ? ulong.Parse(MatchFile.Groups["base_offset"].Value) + matchFile.Groups["filename"].Value)); + currenttrack.Trackfile.Datafile = matchAudioFile.Groups["filename"].Value; + currenttrack.Trackfile.Offset = matchFile.Groups["base_offset"].Value != "" + ? ulong.Parse(matchFile.Groups["base_offset"].Value) : 0; - currenttrack.trackfile.filetype = "BINARY"; - currenttrack.trackfile.sequence = currentTrackNumber; - if(MatchFile.Groups["length"].Value != "") + currenttrack.Trackfile.Filetype = "BINARY"; + currenttrack.Trackfile.Sequence = currentTrackNumber; + if(matchFile.Groups["length"].Value != "") { - string[] lengthString = MatchFile.Groups["length"].Value.Split(new char[] {':'}); - currenttrack.sectors = ulong.Parse(lengthString[0]) * 60 * 75 + + string[] lengthString = matchFile.Groups["length"].Value.Split(new char[] {':'}); + currenttrack.Sectors = ulong.Parse(lengthString[0]) * 60 * 75 + ulong.Parse(lengthString[1]) * 75 + ulong.Parse(lengthString[2]); } else - currenttrack.sectors = - ((ulong)currenttrack.trackfile.datafilter.GetDataForkLength() - - currenttrack.trackfile.offset) / currenttrack.bps; + currenttrack.Sectors = + ((ulong)currenttrack.Trackfile.Datafilter.GetDataForkLength() - + currenttrack.Trackfile.Offset) / currenttrack.Bps; } - else if(MatchTitle.Success) + else if(matchTitle.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found TITLE \"{1}\" at line {0}", line, - MatchTitle.Groups["title"].Value); - if(intrack) currenttrack.title = MatchTitle.Groups["title"].Value; - else discimage.title = MatchTitle.Groups["title"].Value; + matchTitle.Groups["title"].Value); + if(intrack) currenttrack.Title = matchTitle.Groups["title"].Value; + else discimage.Title = matchTitle.Groups["title"].Value; } - else if(MatchPerformer.Success) + else if(matchPerformer.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found PERFORMER \"{1}\" at line {0}", line, - MatchPerformer.Groups["performer"].Value); - if(intrack) currenttrack.performer = MatchPerformer.Groups["performer"].Value; - else discimage.performer = MatchPerformer.Groups["performer"].Value; + matchPerformer.Groups["performer"].Value); + if(intrack) currenttrack.Performer = matchPerformer.Groups["performer"].Value; + else discimage.Performer = matchPerformer.Groups["performer"].Value; } - else if(MatchSongwriter.Success) + else if(matchSongwriter.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found SONGWRITER \"{1}\" at line {0}", line, - MatchSongwriter.Groups["songwriter"].Value); - if(intrack) currenttrack.songwriter = MatchSongwriter.Groups["songwriter"].Value; - else discimage.songwriter = MatchSongwriter.Groups["songwriter"].Value; + matchSongwriter.Groups["songwriter"].Value); + if(intrack) currenttrack.Songwriter = matchSongwriter.Groups["songwriter"].Value; + else discimage.Songwriter = matchSongwriter.Groups["songwriter"].Value; } - else if(MatchComposer.Success) + else if(matchComposer.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found COMPOSER \"{1}\" at line {0}", line, - MatchComposer.Groups["composer"].Value); - if(intrack) currenttrack.composer = MatchComposer.Groups["composer"].Value; - else discimage.composer = MatchComposer.Groups["composer"].Value; + matchComposer.Groups["composer"].Value); + if(intrack) currenttrack.Composer = matchComposer.Groups["composer"].Value; + else discimage.Composer = matchComposer.Groups["composer"].Value; } - else if(MatchArranger.Success) + else if(matchArranger.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found ARRANGER \"{1}\" at line {0}", line, - MatchArranger.Groups["arranger"].Value); - if(intrack) currenttrack.arranger = MatchArranger.Groups["arranger"].Value; - else discimage.arranger = MatchArranger.Groups["arranger"].Value; + matchArranger.Groups["arranger"].Value); + if(intrack) currenttrack.Arranger = matchArranger.Groups["arranger"].Value; + else discimage.Arranger = matchArranger.Groups["arranger"].Value; } - else if(MatchMessage.Success) + else if(matchMessage.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found MESSAGE \"{1}\" at line {0}", line, - MatchMessage.Groups["message"].Value); - if(intrack) currenttrack.message = MatchMessage.Groups["message"].Value; - else discimage.message = MatchMessage.Groups["message"].Value; + matchMessage.Groups["message"].Value); + if(intrack) currenttrack.Message = matchMessage.Groups["message"].Value; + else discimage.Message = matchMessage.Groups["message"].Value; } - else if(MatchDiscID.Success) + else if(matchDiscId.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found DISC_ID \"{1}\" at line {0}", line, - MatchDiscID.Groups["discid"].Value); - if(!intrack) discimage.disk_id = MatchDiscID.Groups["discid"].Value; + matchDiscId.Groups["discid"].Value); + if(!intrack) discimage.DiskId = matchDiscId.Groups["discid"].Value; } - else if(MatchUPC.Success) + else if(matchUpc.Success) { DicConsole.DebugWriteLine("CDRDAO plugin", "Found UPC_EAN \"{1}\" at line {0}", line, - MatchUPC.Groups["catalog"].Value); - if(!intrack) discimage.barcode = MatchUPC.Groups["catalog"].Value; + matchUpc.Groups["catalog"].Value); + if(!intrack) discimage.Barcode = matchUpc.Groups["catalog"].Value; } // Ignored fields - else if(MatchCDText.Success || MatchLanguage.Success || MatchClosure.Success || - MatchLanguageMap.Success || MatchLanguageMapping.Success) { } + else if(matchCdText.Success || matchLanguage.Success || matchClosure.Success || + matchLanguageMap.Success || matchLanguageMapping.Success) { } else if(_line == "") // Empty line, ignore it { } // TODO: Regex CD-TEXT SIZE_INFO @@ -759,94 +759,94 @@ namespace DiscImageChef.ImagePlugins */ } - if(currenttrack.sequence != 0) + if(currenttrack.Sequence != 0) { - if(currenttrack.pregap != currenttrack.sectors && !currenttrack.indexes.ContainsKey(1)) - currenttrack.indexes.Add(1, currenttrack.startSector + currenttrack.pregap); + if(currenttrack.Pregap != currenttrack.Sectors && !currenttrack.Indexes.ContainsKey(1)) + currenttrack.Indexes.Add(1, currenttrack.StartSector + currenttrack.Pregap); - discimage.tracks.Add(currenttrack); + discimage.Tracks.Add(currenttrack); } - discimage.comment = commentBuilder.ToString(); + discimage.Comment = commentBuilder.ToString(); // DEBUG information DicConsole.DebugWriteLine("CDRDAO plugin", "Disc image parsing results"); DicConsole.DebugWriteLine("CDRDAO plugin", "Disc CD-TEXT:"); - if(discimage.arranger == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tArranger is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tArranger: {0}", discimage.arranger); - if(discimage.composer == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tComposer is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tComposer: {0}", discimage.composer); - if(discimage.performer == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tPerformer is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tPerformer: {0}", discimage.performer); - if(discimage.songwriter == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tSongwriter is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tSongwriter: {0}", discimage.songwriter); - if(discimage.title == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tTitle is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tTitle: {0}", discimage.title); + if(discimage.Arranger == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tArranger is not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tArranger: {0}", discimage.Arranger); + if(discimage.Composer == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tComposer is not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tComposer: {0}", discimage.Composer); + if(discimage.Performer == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tPerformer is not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tPerformer: {0}", discimage.Performer); + if(discimage.Songwriter == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tSongwriter is not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tSongwriter: {0}", discimage.Songwriter); + if(discimage.Title == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tTitle is not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tTitle: {0}", discimage.Title); DicConsole.DebugWriteLine("CDRDAO plugin", "Disc information:"); - DicConsole.DebugWriteLine("CDRDAO plugin", "\tGuessed disk type: {0}", discimage.disktype); - if(discimage.barcode == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tBarcode not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tBarcode: {0}", discimage.barcode); - if(discimage.disk_id == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tDisc ID not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tDisc ID: {0}", discimage.disk_id); - if(discimage.mcn == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tMCN not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tMCN: {0}", discimage.mcn); - if(string.IsNullOrEmpty(discimage.comment)) + DicConsole.DebugWriteLine("CDRDAO plugin", "\tGuessed disk type: {0}", discimage.Disktype); + if(discimage.Barcode == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tBarcode not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tBarcode: {0}", discimage.Barcode); + if(discimage.DiskId == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tDisc ID not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tDisc ID: {0}", discimage.DiskId); + if(discimage.Mcn == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\tMCN not set."); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tMCN: {0}", discimage.Mcn); + if(string.IsNullOrEmpty(discimage.Comment)) DicConsole.DebugWriteLine("CDRDAO plugin", "\tComment not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\tComment: \"{0}\"", discimage.comment); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\tComment: \"{0}\"", discimage.Comment); DicConsole.DebugWriteLine("CDRDAO plugin", "Track information:"); - DicConsole.DebugWriteLine("CDRDAO plugin", "\tDisc contains {0} tracks", discimage.tracks.Count); - for(int i = 0; i < discimage.tracks.Count; i++) + DicConsole.DebugWriteLine("CDRDAO plugin", "\tDisc contains {0} tracks", discimage.Tracks.Count); + for(int i = 0; i < discimage.Tracks.Count; i++) { DicConsole.DebugWriteLine("CDRDAO plugin", "\tTrack {0} information:", - discimage.tracks[i].sequence); + discimage.Tracks[i].Sequence); - DicConsole.DebugWriteLine("CDRDAO plugin", "\t\t{0} bytes per sector", discimage.tracks[i].bps); - DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPregap: {0} sectors", discimage.tracks[i].pregap); + DicConsole.DebugWriteLine("CDRDAO plugin", "\t\t{0} bytes per sector", discimage.Tracks[i].Bps); + DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPregap: {0} sectors", discimage.Tracks[i].Pregap); DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tData: {0} sectors starting at sector {1}", - discimage.tracks[i].sectors, discimage.tracks[i].startSector); - DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPostgap: {0} sectors", discimage.tracks[i].postgap); + discimage.Tracks[i].Sectors, discimage.Tracks[i].StartSector); + DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPostgap: {0} sectors", discimage.Tracks[i].Postgap); - if(discimage.tracks[i].flag_4ch) + if(discimage.Tracks[i].Flag_4Ch) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack is flagged as quadraphonic"); - if(discimage.tracks[i].flag_dcp) + if(discimage.Tracks[i].FlagDcp) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack allows digital copy"); - if(discimage.tracks[i].flag_pre) + if(discimage.Tracks[i].FlagPre) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack has pre-emphasis applied"); DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTrack resides in file {0}, type defined as {1}, starting at byte {2}", - discimage.tracks[i].trackfile.datafilter.GetFilename(), - discimage.tracks[i].trackfile.filetype, - discimage.tracks[i].trackfile.offset); + discimage.Tracks[i].Trackfile.Datafilter.GetFilename(), + discimage.Tracks[i].Trackfile.Filetype, + discimage.Tracks[i].Trackfile.Offset); DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tIndexes:"); - foreach(KeyValuePair<int, ulong> kvp in discimage.tracks[i].indexes) + foreach(KeyValuePair<int, ulong> kvp in discimage.Tracks[i].Indexes) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\t\tIndex {0} starts at sector {1}", kvp.Key, kvp.Value); - if(discimage.tracks[i].isrc == null) + if(discimage.Tracks[i].Isrc == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tISRC is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tISRC: {0}", discimage.tracks[i].isrc); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tISRC: {0}", discimage.Tracks[i].Isrc); - if(discimage.tracks[i].arranger == null) + if(discimage.Tracks[i].Arranger == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tArranger is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tArranger: {0}", discimage.tracks[i].arranger); - if(discimage.tracks[i].composer == null) + else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tArranger: {0}", discimage.Tracks[i].Arranger); + if(discimage.Tracks[i].Composer == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tComposer is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tComposer: {0}", discimage.tracks[i].composer); - if(discimage.tracks[i].performer == null) + else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tComposer: {0}", discimage.Tracks[i].Composer); + if(discimage.Tracks[i].Performer == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPerformer is not set."); else - DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPerformer: {0}", discimage.tracks[i].performer); - if(discimage.tracks[i].songwriter == null) + DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tPerformer: {0}", discimage.Tracks[i].Performer); + if(discimage.Tracks[i].Songwriter == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tSongwriter is not set."); else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tSongwriter: {0}", - discimage.tracks[i].songwriter); - if(discimage.tracks[i].title == null) + discimage.Tracks[i].Songwriter); + if(discimage.Tracks[i].Title == null) DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTitle is not set."); - else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTitle: {0}", discimage.tracks[i].title); + else DicConsole.DebugWriteLine("CDRDAO plugin", "\t\tTitle: {0}", discimage.Tracks[i].Title); } DicConsole.DebugWriteLine("CDRDAO plugin", "Building offset map"); @@ -854,41 +854,41 @@ namespace DiscImageChef.ImagePlugins partitions = new List<Partition>(); offsetmap = new Dictionary<uint, ulong>(); - ulong byte_offset = 0; + ulong byteOffset = 0; ulong partitionSequence = 0; - for(int i = 0; i < discimage.tracks.Count; i++) + for(int i = 0; i < discimage.Tracks.Count; i++) { - ulong index0_len = 0; + ulong index0Len = 0; - if(discimage.tracks[i].sequence == 1 && i != 0) + if(discimage.Tracks[i].Sequence == 1 && i != 0) throw new ImageNotSupportedException("Unordered tracks"); Partition partition = new Partition(); // Index 01 - partition.Description = string.Format("Track {0}.", discimage.tracks[i].sequence); - partition.Name = discimage.tracks[i].title; - partition.Start = discimage.tracks[i].startSector; - partition.Size = (discimage.tracks[i].sectors - index0_len) * discimage.tracks[i].bps; - partition.Length = (discimage.tracks[i].sectors - index0_len); + partition.Description = string.Format("Track {0}.", discimage.Tracks[i].Sequence); + partition.Name = discimage.Tracks[i].Title; + partition.Start = discimage.Tracks[i].StartSector; + partition.Size = (discimage.Tracks[i].Sectors - index0Len) * discimage.Tracks[i].Bps; + partition.Length = (discimage.Tracks[i].Sectors - index0Len); partition.Sequence = partitionSequence; - partition.Offset = byte_offset; - partition.Type = discimage.tracks[i].tracktype; + partition.Offset = byteOffset; + partition.Type = discimage.Tracks[i].Tracktype; - byte_offset += partition.Size; + byteOffset += partition.Size; partitionSequence++; - if(!offsetmap.ContainsKey(discimage.tracks[i].sequence)) - offsetmap.Add(discimage.tracks[i].sequence, partition.Start); + if(!offsetmap.ContainsKey(discimage.Tracks[i].Sequence)) + offsetmap.Add(discimage.Tracks[i].Sequence, partition.Start); else { - ulong old_start; - offsetmap.TryGetValue(discimage.tracks[i].sequence, out old_start); + ulong oldStart; + offsetmap.TryGetValue(discimage.Tracks[i].Sequence, out oldStart); - if(partition.Start < old_start) + if(partition.Start < oldStart) { - offsetmap.Remove(discimage.tracks[i].sequence); - offsetmap.Add(discimage.tracks[i].sequence, partition.Start); + offsetmap.Remove(discimage.Tracks[i].Sequence); + offsetmap.Add(discimage.Tracks[i].Sequence, partition.Start); } } @@ -910,97 +910,97 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("CDRDAO plugin", "\tPartition size in bytes: {0}", partition.Size); } - foreach(CDRDAOTrack track in discimage.tracks) + foreach(CdrdaoTrack track in discimage.Tracks) { - ImageInfo.imageSize += track.bps * track.sectors; - ImageInfo.sectors += track.sectors; + ImageInfo.ImageSize += track.Bps * track.Sectors; + ImageInfo.Sectors += track.Sectors; } - if(discimage.disktype == MediaType.CDG || discimage.disktype == MediaType.CDEG || - discimage.disktype == MediaType.CDMIDI) - ImageInfo.sectorSize = 2448; // CD+G subchannels ARE user data, as CD+G are useless without them - else if(discimage.disktype != MediaType.CDROMXA && discimage.disktype != MediaType.CDDA && - discimage.disktype != MediaType.CDI && - discimage.disktype != MediaType.CDPLUS) ImageInfo.sectorSize = 2048; // Only data tracks - else ImageInfo.sectorSize = 2352; // All others + if(discimage.Disktype == MediaType.CDG || discimage.Disktype == MediaType.CDEG || + discimage.Disktype == MediaType.CDMIDI) + ImageInfo.SectorSize = 2448; // CD+G subchannels ARE user data, as CD+G are useless without them + else if(discimage.Disktype != MediaType.CDROMXA && discimage.Disktype != MediaType.CDDA && + discimage.Disktype != MediaType.CDI && + discimage.Disktype != MediaType.CDPLUS) ImageInfo.SectorSize = 2048; // Only data tracks + else ImageInfo.SectorSize = 2352; // All others - if(discimage.mcn != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_MCN); + if(discimage.Mcn != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_MCN); - ImageInfo.imageApplication = "CDRDAO"; + ImageInfo.ImageApplication = "CDRDAO"; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageComments = discimage.comment; - ImageInfo.mediaSerialNumber = discimage.mcn; - ImageInfo.mediaBarcode = discimage.barcode; - ImageInfo.mediaType = discimage.disktype; + ImageInfo.ImageComments = discimage.Comment; + ImageInfo.MediaSerialNumber = discimage.Mcn; + ImageInfo.MediaBarcode = discimage.Barcode; + ImageInfo.MediaType = discimage.Disktype; - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackFlags); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackFlags); - foreach(CDRDAOTrack track in discimage.tracks) + foreach(CdrdaoTrack track in discimage.Tracks) { - if(track.subchannel) + if(track.Subchannel) { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); } - switch(track.tracktype) + switch(track.Tracktype) { - case CDRDAOTrackTypeAudio: + case CDRDAO_TRACK_TYPE_AUDIO: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDTrackISRC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackISRC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdTrackIsrc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackIsrc); break; } - case CDRDAOTrackTypeMode2: - case CDRDAOTrackTypeMode2Mix: + case CDRDAO_TRACK_TYPE_MODE2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; } - case CDRDAOTrackTypeMode2Raw: + case CDRDAO_TRACK_TYPE_MODE2_RAW: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; } - case CDRDAOTrackTypeMode1Raw: + case CDRDAO_TRACK_TYPE_MODE1_RAW: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; } } } - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - DicConsole.VerboseWriteLine("CDRDAO image describes a disc of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("CDRDAO comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("CDRDAO image describes a disc of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("CDRDAO comments: {0}", ImageInfo.ImageComments); return true; } @@ -1015,22 +1015,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -1039,7 +1039,7 @@ namespace DiscImageChef.ImagePlugins { case MediaTagType.CD_MCN: { - if(discimage.mcn != null) { return Encoding.ASCII.GetBytes(discimage.mcn); } + if(discimage.Mcn != null) { return Encoding.ASCII.GetBytes(discimage.Mcn); } throw new FeatureNotPresentImageException("Image does not contain MCN information."); } @@ -1074,11 +1074,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(CDRDAOTrack cdrdao_track in discimage.tracks) + foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks) { - if(cdrdao_track.sequence == kvp.Key) + if(cdrdaoTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < cdrdao_track.sectors) + if((sectorAddress - kvp.Value) < cdrdaoTrack.Sectors) return ReadSectors((sectorAddress - kvp.Value), length, kvp.Key); } } @@ -1095,11 +1095,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(CDRDAOTrack cdrdao_track in discimage.tracks) + foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks) { - if(cdrdao_track.sequence == kvp.Key) + if(cdrdaoTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < cdrdao_track.sectors) + if((sectorAddress - kvp.Value) < cdrdaoTrack.Sectors) return ReadSectorsTag((sectorAddress - kvp.Value), length, kvp.Key, tag); } } @@ -1112,98 +1112,98 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length, uint track) { - CDRDAOTrack _track = new CDRDAOTrack(); + CdrdaoTrack _track = new CdrdaoTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(CDRDAOTrack cdrdao_track in discimage.tracks) + foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks) { - if(cdrdao_track.sequence == track) + if(cdrdaoTrack.Sequence == track) { - _track = cdrdao_track; + _track = cdrdaoTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch(_track.tracktype) + switch(_track.Tracktype) { - case CDRDAOTrackTypeMode1: - case CDRDAOTrackTypeMode2Form1: + case CDRDAO_TRACK_TYPE_MODE1: + case CDRDAO_TRACK_TYPE_MODE2_FORM1: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } - case CDRDAOTrackTypeMode2Form2: + case CDRDAO_TRACK_TYPE_MODE2_FORM2: { - sector_offset = 0; - sector_size = 2324; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2324; + sectorSkip = 0; break; } - case CDRDAOTrackTypeMode2: - case CDRDAOTrackTypeMode2Mix: + case CDRDAO_TRACK_TYPE_MODE2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: { - sector_offset = 0; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2336; + sectorSkip = 0; break; } - case CDRDAOTrackTypeAudio: + case CDRDAO_TRACK_TYPE_AUDIO: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case CDRDAOTrackTypeMode1Raw: + case CDRDAO_TRACK_TYPE_MODE1_RAW: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; break; } - case CDRDAOTrackTypeMode2Raw: + case CDRDAO_TRACK_TYPE_MODE2_RAW: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - if(_track.subchannel) sector_skip += 96; + if(_track.Subchannel) sectorSkip += 96; - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _track.trackfile.datafilter.GetDataForkStream(); + imageStream = _track.Trackfile.Datafilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.trackfile.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Trackfile.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1212,144 +1212,144 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsTag(ulong sectorAddress, uint length, uint track, SectorTagType tag) { - CDRDAOTrack _track = new CDRDAOTrack(); + CdrdaoTrack _track = new CdrdaoTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(CDRDAOTrack cdrdao_track in discimage.tracks) + foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks) { - if(cdrdao_track.sequence == track) + if(cdrdaoTrack.Sequence == track) { - _track = cdrdao_track; + _track = cdrdaoTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip = 0; + uint sectorOffset; + uint sectorSize; + uint sectorSkip = 0; - if(!_track.subchannel && tag == SectorTagType.CDSectorSubchannel) + if(!_track.Subchannel && tag == SectorTagType.CdSectorSubchannel) throw new ArgumentException("No tags in image for requested track", nameof(tag)); switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: { byte[] flags = new byte[1]; - if(_track.tracktype != CDRDAOTrackTypeAudio) flags[0] += 0x40; + if(_track.Tracktype != CDRDAO_TRACK_TYPE_AUDIO) flags[0] += 0x40; - if(_track.flag_dcp) flags[0] += 0x20; + if(_track.FlagDcp) flags[0] += 0x20; - if(_track.flag_pre) flags[0] += 0x10; + if(_track.FlagPre) flags[0] += 0x10; - if(_track.flag_4ch) flags[0] += 0x80; + if(_track.Flag_4Ch) flags[0] += 0x80; return flags; } - case SectorTagType.CDTrackISRC: return Encoding.UTF8.GetBytes(_track.isrc); + case SectorTagType.CdTrackIsrc: return Encoding.UTF8.GetBytes(_track.Isrc); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - switch(_track.tracktype) + switch(_track.Tracktype) { - case CDRDAOTrackTypeMode1: - case CDRDAOTrackTypeMode2Form1: - if(tag == SectorTagType.CDSectorSubchannel) + case CDRDAO_TRACK_TYPE_MODE1: + case CDRDAO_TRACK_TYPE_MODE2_FORM1: + if(tag == SectorTagType.CdSectorSubchannel) { - sector_offset = 2048; - sector_size = 96; + sectorOffset = 2048; + sectorSize = 96; break; } throw new ArgumentException("No tags in image for requested track", nameof(tag)); - case CDRDAOTrackTypeMode2Form2: - case CDRDAOTrackTypeMode2Mix: - if(tag == SectorTagType.CDSectorSubchannel) + case CDRDAO_TRACK_TYPE_MODE2_FORM2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: + if(tag == SectorTagType.CdSectorSubchannel) { - sector_offset = 2336; - sector_size = 96; + sectorOffset = 2336; + sectorSize = 96; break; } throw new ArgumentException("No tags in image for requested track", nameof(tag)); - case CDRDAOTrackTypeAudio: - if(tag == SectorTagType.CDSectorSubchannel) + case CDRDAO_TRACK_TYPE_AUDIO: + if(tag == SectorTagType.CdSectorSubchannel) { - sector_offset = 2352; - sector_size = 96; + sectorOffset = 2352; + sectorSize = 96; break; } throw new ArgumentException("No tags in image for requested track", nameof(tag)); - case CDRDAOTrackTypeMode1Raw: + case CDRDAO_TRACK_TYPE_MODE1_RAW: { switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { - sector_offset = 2352; - sector_size = 96; + sectorOffset = 2352; + sectorSize = 96; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -1357,11 +1357,11 @@ namespace DiscImageChef.ImagePlugins break; } - case CDRDAOTrackTypeMode2Raw: // Requires reading sector - if(tag == SectorTagType.CDSectorSubchannel) + case CDRDAO_TRACK_TYPE_MODE2_RAW: // Requires reading sector + if(tag == SectorTagType.CdSectorSubchannel) { - sector_offset = 2352; - sector_size = 96; + sectorOffset = 2352; + sectorSize = 96; break; } @@ -1369,23 +1369,23 @@ namespace DiscImageChef.ImagePlugins default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _track.trackfile.datafilter.GetDataForkStream(); + imageStream = _track.Trackfile.Datafilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.trackfile.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Trackfile.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1408,11 +1408,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(CDRDAOTrack cdrdao_track in discimage.tracks) + foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks) { - if(cdrdao_track.sequence == kvp.Key) + if(cdrdaoTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < cdrdao_track.sectors) + if((sectorAddress - kvp.Value) < cdrdaoTrack.Sectors) return ReadSectorsLong((sectorAddress - kvp.Value), length, kvp.Key); } } @@ -1424,89 +1424,89 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length, uint track) { - CDRDAOTrack _track = new CDRDAOTrack(); + CdrdaoTrack _track = new CdrdaoTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(CDRDAOTrack cdrdao_track in discimage.tracks) + foreach(CdrdaoTrack cdrdaoTrack in discimage.Tracks) { - if(cdrdao_track.sequence == track) + if(cdrdaoTrack.Sequence == track) { - _track = cdrdao_track; + _track = cdrdaoTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch(_track.tracktype) + switch(_track.Tracktype) { - case CDRDAOTrackTypeMode1: - case CDRDAOTrackTypeMode2Form1: + case CDRDAO_TRACK_TYPE_MODE1: + case CDRDAO_TRACK_TYPE_MODE2_FORM1: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } - case CDRDAOTrackTypeMode2Form2: + case CDRDAO_TRACK_TYPE_MODE2_FORM2: { - sector_offset = 0; - sector_size = 2324; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2324; + sectorSkip = 0; break; } - case CDRDAOTrackTypeMode2: - case CDRDAOTrackTypeMode2Mix: + case CDRDAO_TRACK_TYPE_MODE2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: { - sector_offset = 0; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2336; + sectorSkip = 0; break; } - case CDRDAOTrackTypeMode1Raw: - case CDRDAOTrackTypeMode2Raw: - case CDRDAOTrackTypeAudio: + case CDRDAO_TRACK_TYPE_MODE1_RAW: + case CDRDAO_TRACK_TYPE_MODE2_RAW: + case CDRDAO_TRACK_TYPE_AUDIO: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - if(_track.subchannel) sector_skip += 96; + if(_track.Subchannel) sectorSkip += 96; - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _track.trackfile.datafilter.GetDataForkStream(); + imageStream = _track.Trackfile.Datafilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.trackfile.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Trackfile.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1520,47 +1520,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List<Partition> GetPartitions() @@ -1572,34 +1572,34 @@ namespace DiscImageChef.ImagePlugins { List<Track> tracks = new List<Track>(); - foreach(CDRDAOTrack cdr_track in discimage.tracks) + foreach(CdrdaoTrack cdrTrack in discimage.Tracks) { Track _track = new Track(); - _track.Indexes = cdr_track.indexes; - _track.TrackDescription = cdr_track.title; - if(!cdr_track.indexes.TryGetValue(0, out _track.TrackStartSector)) - cdr_track.indexes.TryGetValue(1, out _track.TrackStartSector); - _track.TrackStartSector = cdr_track.startSector; - _track.TrackEndSector = _track.TrackStartSector + cdr_track.sectors - 1; - _track.TrackPregap = cdr_track.pregap; + _track.Indexes = cdrTrack.Indexes; + _track.TrackDescription = cdrTrack.Title; + if(!cdrTrack.Indexes.TryGetValue(0, out _track.TrackStartSector)) + cdrTrack.Indexes.TryGetValue(1, out _track.TrackStartSector); + _track.TrackStartSector = cdrTrack.StartSector; + _track.TrackEndSector = _track.TrackStartSector + cdrTrack.Sectors - 1; + _track.TrackPregap = cdrTrack.Pregap; _track.TrackSession = 1; - _track.TrackSequence = cdr_track.sequence; - _track.TrackType = CDRDAOTrackTypeToTrackType(cdr_track.tracktype); - _track.TrackFilter = cdr_track.trackfile.datafilter; - _track.TrackFile = cdr_track.trackfile.datafilter.GetFilename(); - _track.TrackFileOffset = cdr_track.trackfile.offset; - _track.TrackFileType = cdr_track.trackfile.filetype; - _track.TrackRawBytesPerSector = cdr_track.bps; - _track.TrackBytesPerSector = CDRDAOTrackTypeToCookedBytesPerSector(cdr_track.tracktype); - if(cdr_track.subchannel) + _track.TrackSequence = cdrTrack.Sequence; + _track.TrackType = CdrdaoTrackTypeToTrackType(cdrTrack.Tracktype); + _track.TrackFilter = cdrTrack.Trackfile.Datafilter; + _track.TrackFile = cdrTrack.Trackfile.Datafilter.GetFilename(); + _track.TrackFileOffset = cdrTrack.Trackfile.Offset; + _track.TrackFileType = cdrTrack.Trackfile.Filetype; + _track.TrackRawBytesPerSector = cdrTrack.Bps; + _track.TrackBytesPerSector = CdrdaoTrackTypeToCookedBytesPerSector(cdrTrack.Tracktype); + if(cdrTrack.Subchannel) { - _track.TrackSubchannelType = cdr_track.packedsubchannel + _track.TrackSubchannelType = cdrTrack.Packedsubchannel ? TrackSubchannelType.PackedInterleaved : TrackSubchannelType.RawInterleaved; - _track.TrackSubchannelFilter = cdr_track.trackfile.datafilter; - _track.TrackSubchannelFile = cdr_track.trackfile.datafilter.GetFilename(); - _track.TrackSubchannelOffset = cdr_track.trackfile.offset; + _track.TrackSubchannelFilter = cdrTrack.Trackfile.Datafilter; + _track.TrackSubchannelFile = cdrTrack.Trackfile.Datafilter.GetFilename(); + _track.TrackSubchannelOffset = cdrTrack.Trackfile.Offset; } else _track.TrackSubchannelType = TrackSubchannelType.None; @@ -1624,73 +1624,73 @@ namespace DiscImageChef.ImagePlugins public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -1709,50 +1709,50 @@ namespace DiscImageChef.ImagePlugins #endregion #region Private methods - static ushort CDRDAOTrackTypeToBytesPerSector(string trackType) + static ushort CdrdaoTrackTypeToBytesPerSector(string trackType) { switch(trackType) { - case CDRDAOTrackTypeMode1: - case CDRDAOTrackTypeMode2Form1: return 2048; - case CDRDAOTrackTypeMode2Form2: return 2324; - case CDRDAOTrackTypeMode2: - case CDRDAOTrackTypeMode2Mix: return 2336; - case CDRDAOTrackTypeAudio: - case CDRDAOTrackTypeMode1Raw: - case CDRDAOTrackTypeMode2Raw: return 2352; + case CDRDAO_TRACK_TYPE_MODE1: + case CDRDAO_TRACK_TYPE_MODE2_FORM1: return 2048; + case CDRDAO_TRACK_TYPE_MODE2_FORM2: return 2324; + case CDRDAO_TRACK_TYPE_MODE2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: return 2336; + case CDRDAO_TRACK_TYPE_AUDIO: + case CDRDAO_TRACK_TYPE_MODE1_RAW: + case CDRDAO_TRACK_TYPE_MODE2_RAW: return 2352; default: return 0; } } - static ushort CDRDAOTrackTypeToCookedBytesPerSector(string trackType) + static ushort CdrdaoTrackTypeToCookedBytesPerSector(string trackType) { switch(trackType) { - case CDRDAOTrackTypeMode1: - case CDRDAOTrackTypeMode2Form1: - case CDRDAOTrackTypeMode1Raw: return 2048; - case CDRDAOTrackTypeMode2Form2: return 2324; - case CDRDAOTrackTypeMode2: - case CDRDAOTrackTypeMode2Mix: - case CDRDAOTrackTypeMode2Raw: return 2336; - case CDRDAOTrackTypeAudio: return 2352; + case CDRDAO_TRACK_TYPE_MODE1: + case CDRDAO_TRACK_TYPE_MODE2_FORM1: + case CDRDAO_TRACK_TYPE_MODE1_RAW: return 2048; + case CDRDAO_TRACK_TYPE_MODE2_FORM2: return 2324; + case CDRDAO_TRACK_TYPE_MODE2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: + case CDRDAO_TRACK_TYPE_MODE2_RAW: return 2336; + case CDRDAO_TRACK_TYPE_AUDIO: return 2352; default: return 0; } } - static TrackType CDRDAOTrackTypeToTrackType(string trackType) + static TrackType CdrdaoTrackTypeToTrackType(string trackType) { switch(trackType) { - case CDRDAOTrackTypeMode1: - case CDRDAOTrackTypeMode1Raw: return TrackType.CDMode1; - case CDRDAOTrackTypeMode2Form1: return TrackType.CDMode2Form1; - case CDRDAOTrackTypeMode2Form2: return TrackType.CDMode2Form2; - case CDRDAOTrackTypeMode2: - case CDRDAOTrackTypeMode2Mix: - case CDRDAOTrackTypeMode2Raw: return TrackType.CDMode2Formless; - case CDRDAOTrackTypeAudio: return TrackType.Audio; + case CDRDAO_TRACK_TYPE_MODE1: + case CDRDAO_TRACK_TYPE_MODE1_RAW: return TrackType.CdMode1; + case CDRDAO_TRACK_TYPE_MODE2_FORM1: return TrackType.CdMode2Form1; + case CDRDAO_TRACK_TYPE_MODE2_FORM2: return TrackType.CdMode2Form2; + case CDRDAO_TRACK_TYPE_MODE2: + case CDRDAO_TRACK_TYPE_MODE2_MIX: + case CDRDAO_TRACK_TYPE_MODE2_RAW: return TrackType.CdMode2Formless; + case CDRDAO_TRACK_TYPE_AUDIO: return TrackType.Audio; default: return TrackType.Data; } } @@ -1761,52 +1761,52 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } #endregion } diff --git a/DiscImageChef.DiscImages/CDRWin.cs b/DiscImageChef.DiscImages/CDRWin.cs index 2520ea920..a30d2ed8f 100644 --- a/DiscImageChef.DiscImages/CDRWin.cs +++ b/DiscImageChef.DiscImages/CDRWin.cs @@ -39,203 +39,203 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // TODO: Implement track flags - public class CDRWin : ImagePlugin + public class CdrWin : ImagePlugin { #region Internal structures - struct CDRWinTrackFile + struct CdrWinTrackFile { /// <summary>Track #</summary> - public uint sequence; + public uint Sequence; /// <summary>Filter of file containing track</summary> - public Filter datafilter; + public Filter Datafilter; /// <summary>Offset of track start in file</summary> - public ulong offset; + public ulong Offset; /// <summary>Type of file</summary> - public string filetype; + public string Filetype; } - struct CDRWinTrack + struct CdrWinTrack { /// <summary>Track #</summary> - public uint sequence; + public uint Sequence; /// <summary>Track title (from CD-Text)</summary> - public string title; + public string Title; /// <summary>Track genre (from CD-Text)</summary> - public string genre; + public string Genre; /// <summary>Track arranger (from CD-Text)</summary> - public string arranger; + public string Arranger; /// <summary>Track composer (from CD-Text)</summary> - public string composer; + public string Composer; /// <summary>Track performer (from CD-Text)</summary> - public string performer; + public string Performer; /// <summary>Track song writer (from CD-Text)</summary> - public string songwriter; + public string Songwriter; /// <summary>Track ISRC</summary> - public string isrc; + public string Isrc; /// <summary>File struct for this track</summary> - public CDRWinTrackFile trackfile; + public CdrWinTrackFile Trackfile; /// <summary>Indexes on this track</summary> - public Dictionary<int, ulong> indexes; + public Dictionary<int, ulong> Indexes; /// <summary>Track pre-gap in sectors</summary> - public ulong pregap; + public ulong Pregap; /// <summary>Track post-gap in sectors</summary> - public ulong postgap; + public ulong Postgap; /// <summary>Digical Copy Permitted</summary> - public bool flag_dcp; + public bool FlagDcp; /// <summary>Track is quadraphonic</summary> - public bool flag_4ch; + public bool Flag4ch; /// <summary>Track has preemphasis</summary> - public bool flag_pre; + public bool FlagPre; /// <summary>Track has SCMS</summary> - public bool flag_scms; + public bool FlagScms; /// <summary>Bytes per sector</summary> - public ushort bps; + public ushort Bps; /// <summary>Sectors in track</summary> - public ulong sectors; + public ulong Sectors; /// <summary>Track type</summary> - public string tracktype; + public string Tracktype; /// <summary>Track session</summary> - public ushort session; + public ushort Session; } #endregion - struct CDRWinDisc + struct CdrWinDisc { /// <summary>Disk title (from CD-Text)</summary> - public string title; + public string Title; /// <summary>Disk genre (from CD-Text)</summary> - public string genre; + public string Genre; /// <summary>Disk arranger (from CD-Text)</summary> - public string arranger; + public string Arranger; /// <summary>Disk composer (from CD-Text)</summary> - public string composer; + public string Composer; /// <summary>Disk performer (from CD-Text)</summary> - public string performer; + public string Performer; /// <summary>Disk song writer (from CD-Text)</summary> - public string songwriter; + public string Songwriter; /// <summary>Media catalog number</summary> - public string mcn; + public string Mcn; /// <summary>Disk type</summary> - public MediaType disktype; + public MediaType Disktype; /// <summary>Disk type string</summary> - public string disktypestr; + public string Disktypestr; /// <summary>Disk CDDB ID</summary> - public string disk_id; + public string DiskId; /// <summary>Disk UPC/EAN</summary> - public string barcode; + public string Barcode; /// <summary>Sessions</summary> - public List<Session> sessions; + public List<Session> Sessions; /// <summary>Tracks</summary> - public List<CDRWinTrack> tracks; + public List<CdrWinTrack> Tracks; /// <summary>Disk comment</summary> - public string comment; + public string Comment; /// <summary>File containing CD-Text</summary> - public string cdtextfile; + public string Cdtextfile; } #region Internal consts // Type for FILE entity /// <summary>Data as-is in little-endian</summary> - const string CDRWinDiskTypeLittleEndian = "BINARY"; + const string CDRWIN_DISK_TYPE_LITTLE_ENDIAN = "BINARY"; /// <summary>Data as-is in big-endian</summary> - const string CDRWinDiskTypeBigEndian = "MOTOROLA"; + const string CDRWIN_DISK_TYPE_BIG_ENDIAN = "MOTOROLA"; /// <summary>Audio in Apple AIF file</summary> - const string CDRWinDiskTypeAIFF = "AIFF"; + const string CDRWIN_DISK_TYPE_AIFF = "AIFF"; /// <summary>Audio in Microsoft WAV file</summary> - const string CDRWinDiskTypeRIFF = "WAVE"; + const string CDRWIN_DISK_TYPE_RIFF = "WAVE"; /// <summary>Audio in MP3 file</summary> - const string CDRWinDiskTypeMP3 = "MP3"; + const string CDRWIN_DISK_TYPE_MP3 = "MP3"; // Type for TRACK entity /// <summary>Audio track, 2352 bytes/sector</summary> - const string CDRWinTrackTypeAudio = "AUDIO"; + const string CDRWIN_TRACK_TYPE_AUDIO = "AUDIO"; /// <summary>CD+G track, 2448 bytes/sector (audio+subchannel)</summary> - const string CDRWinTrackTypeCDG = "CDG"; + const string CDRWIN_TRACK_TYPE_CDG = "CDG"; /// <summary>Mode 1 track, cooked, 2048 bytes/sector</summary> - const string CDRWinTrackTypeMode1 = "MODE1/2048"; + const string CDRWIN_TRACK_TYPE_MODE1 = "MODE1/2048"; /// <summary>Mode 1 track, raw, 2352 bytes/sector</summary> - const string CDRWinTrackTypeMode1Raw = "MODE1/2352"; + const string CDRWIN_TRACK_TYPE_MODE1_RAW = "MODE1/2352"; /// <summary>Mode 2 form 1 track, cooked, 2048 bytes/sector</summary> - const string CDRWinTrackTypeMode2Form1 = "MODE2/2048"; + const string CDRWIN_TRACK_TYPE_MODE2_FORM1 = "MODE2/2048"; /// <summary>Mode 2 form 2 track, cooked, 2324 bytes/sector</summary> - const string CDRWinTrackTypeMode2Form2 = "MODE2/2324"; + const string CDRWIN_TRACK_TYPE_MODE2_FORM2 = "MODE2/2324"; /// <summary>Mode 2 formless track, cooked, 2336 bytes/sector</summary> - const string CDRWinTrackTypeMode2Formless = "MODE2/2336"; + const string CDRWIN_TRACK_TYPE_MODE2_FORMLESS = "MODE2/2336"; /// <summary>Mode 2 track, raw, 2352 bytes/sector</summary> - const string CDRWinTrackTypeMode2Raw = "MODE2/2352"; + const string CDRWIN_TRACK_TYPE_MODE2_RAW = "MODE2/2352"; /// <summary>CD-i track, cooked, 2336 bytes/sector</summary> - const string CDRWinTrackTypeCDI = "CDI/2336"; + const string CDRWIN_TRACK_TYPE_CDI = "CDI/2336"; /// <summary>CD-i track, raw, 2352 bytes/sector</summary> - const string CDRWinTrackTypeCDIRaw = "CDI/2352"; + const string CDRWIN_TRACK_TYPE_CDI_RAW = "CDI/2352"; // Type for REM ORIGINAL MEDIA-TYPE entity /// <summary>DiskType.CD</summary> - const string CDRWinDiskTypeCD = "CD"; + const string CDRWIN_DISK_TYPE_CD = "CD"; /// <summary>DiskType.CDRW</summary> - const string CDRWinDiskTypeCDRW = "CD-RW"; + const string CDRWIN_DISK_TYPE_CDRW = "CD-RW"; /// <summary>DiskType.CDMRW</summary> - const string CDRWinDiskTypeCDMRW = "CD-MRW"; + const string CDRWIN_DISK_TYPE_CDMRW = "CD-MRW"; /// <summary>DiskType.CDMRW</summary> - const string CDRWinDiskTypeCDMRW2 = "CD-(MRW)"; + const string CDRWIN_DISK_TYPE_CDMRW2 = "CD-(MRW)"; /// <summary>DiskType.DVDROM</summary> - const string CDRWinDiskTypeDVD = "DVD"; + const string CDRWIN_DISK_TYPE_DVD = "DVD"; /// <summary>DiskType.DVDPRW</summary> - const string CDRWinDiskTypeDVDPMRW = "DVD+MRW"; + const string CDRWIN_DISK_TYPE_DVDPMRW = "DVD+MRW"; /// <summary>DiskType.DVDPRW</summary> - const string CDRWinDiskTypeDVDPMRW2 = "DVD+(MRW)"; + const string CDRWIN_DISK_TYPE_DVDPMRW2 = "DVD+(MRW)"; /// <summary>DiskType.DVDPRWDL</summary> - const string CDRWinDiskTypeDVDPMRWDL = "DVD+MRW DL"; + const string CDRWIN_DISK_TYPE_DVDPMRWDL = "DVD+MRW DL"; /// <summary>DiskType.DVDPRWDL</summary> - const string CDRWinDiskTypeDVDPMRWDL2 = "DVD+(MRW) DL"; + const string CDRWIN_DISK_TYPE_DVDPMRWDL2 = "DVD+(MRW) DL"; /// <summary>DiskType.DVDPR</summary> - const string CDRWinDiskTypeDVDPR = "DVD+R"; + const string CDRWIN_DISK_TYPE_DVDPR = "DVD+R"; /// <summary>DiskType.DVDPRDL</summary> - const string CDRWinDiskTypeDVDPRDL = "DVD+R DL"; + const string CDRWIN_DISK_TYPE_DVDPRDL = "DVD+R DL"; /// <summary>DiskType.DVDPRW</summary> - const string CDRWinDiskTypeDVDPRW = "DVD+RW"; + const string CDRWIN_DISK_TYPE_DVDPRW = "DVD+RW"; /// <summary>DiskType.DVDPRWDL</summary> - const string CDRWinDiskTypeDVDPRWDL = "DVD+RW DL"; + const string CDRWIN_DISK_TYPE_DVDPRWDL = "DVD+RW DL"; /// <summary>DiskType.DVDPR</summary> - const string CDRWinDiskTypeDVDPVR = "DVD+VR"; + const string CDRWIN_DISK_TYPE_DVDPVR = "DVD+VR"; /// <summary>DiskType.DVDRAM</summary> - const string CDRWinDiskTypeDVDRAM = "DVD-RAM"; + const string CDRWIN_DISK_TYPE_DVDRAM = "DVD-RAM"; /// <summary>DiskType.DVDR</summary> - const string CDRWinDiskTypeDVDR = "DVD-R"; + const string CDRWIN_DISK_TYPE_DVDR = "DVD-R"; /// <summary>DiskType.DVDRDL</summary> - const string CDRWinDiskTypeDVDRDL = "DVD-R DL"; + const string CDRWIN_DISK_TYPE_DVDRDL = "DVD-R DL"; /// <summary>DiskType.DVDRW</summary> - const string CDRWinDiskTypeDVDRW = "DVD-RW"; + const string CDRWIN_DISK_TYPE_DVDRW = "DVD-RW"; /// <summary>DiskType.DVDRWDL</summary> - const string CDRWinDiskTypeDVDRWDL = "DVD-RW DL"; + const string CDRWIN_DISK_TYPE_DVDRWDL = "DVD-RW DL"; /// <summary>DiskType.DVDR</summary> - const string CDRWinDiskTypeDVDVR = "DVD-VR"; + const string CDRWIN_DISK_TYPE_DVDVR = "DVD-VR"; /// <summary>DiskType.DVDRW</summary> - const string CDRWinDiskTypeDVDRW2 = "DVDRW"; + const string CDRWIN_DISK_TYPE_DVDRW2 = "DVDRW"; /// <summary>DiskType.HDDVDROM</summary> - const string CDRWinDiskTypeHDDVD = "HD DVD"; + const string CDRWIN_DISK_TYPE_HDDVD = "HD DVD"; /// <summary>DiskType.HDDVDRAM</summary> - const string CDRWinDiskTypeHDDVDRAM = "HD DVD-RAM"; + const string CDRWIN_DISK_TYPE_HDDVDRAM = "HD DVD-RAM"; /// <summary>DiskType.HDDVDR</summary> - const string CDRWinDiskTypeHDDVDR = "HD DVD-R"; + const string CDRWIN_DISK_TYPE_HDDVDR = "HD DVD-R"; /// <summary>DiskType.HDDVDR</summary> - const string CDRWinDiskTypeHDDVDRDL = "HD DVD-R DL"; + const string CDRWIN_DISK_TYPE_HDDVDRDL = "HD DVD-R DL"; /// <summary>DiskType.HDDVDRW</summary> - const string CDRWinDiskTypeHDDVDRW = "HD DVD-RW"; + const string CDRWIN_DISK_TYPE_HDDVDRW = "HD DVD-RW"; /// <summary>DiskType.HDDVDRW</summary> - const string CDRWinDiskTypeHDDVDRWDL = "HD DVD-RW DL"; + const string CDRWIN_DISK_TYPE_HDDVDRWDL = "HD DVD-RW DL"; /// <summary>DiskType.BDROM</summary> - const string CDRWinDiskTypeBD = "BD"; + const string CDRWIN_DISK_TYPE_BD = "BD"; /// <summary>DiskType.BDR</summary> - const string CDRWinDiskTypeBDR = "BD-R"; + const string CDRWIN_DISK_TYPE_BDR = "BD-R"; /// <summary>DiskType.BDRE</summary> - const string CDRWinDiskTypeBDRE = "BD-RE"; + const string CDRWIN_DISK_TYPE_BDRE = "BD-RE"; /// <summary>DiskType.BDR</summary> - const string CDRWinDiskTypeBDRDL = "BD-R DL"; + const string CDRWIN_DISK_TYPE_BDRDL = "BD-R DL"; /// <summary>DiskType.BDRE</summary> - const string CDRWinDiskTypeBDREDL = "BD-RE DL"; + const string CDRWIN_DISK_TYPE_BDREDL = "BD-RE DL"; #endregion #region Internal variables @@ -244,59 +244,59 @@ namespace DiscImageChef.ImagePlugins Stream imageStream; /// <summary>Dictionary, index is track #, value is TrackFile</summary> Dictionary<uint, ulong> offsetmap; - CDRWinDisc discimage; + CdrWinDisc discimage; List<Partition> partitions; #endregion #region Parsing regexs - const string SessionRegEx = "\\bREM\\s+SESSION\\s+(?<number>\\d+).*$"; - const string DiskTypeRegEx = "\\bREM\\s+ORIGINAL MEDIA-TYPE:\\s+(?<mediatype>.+)$"; - const string LeadOutRegEx = "\\bREM\\s+LEAD-OUT\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; + const string SESSION_REGEX = "\\bREM\\s+SESSION\\s+(?<number>\\d+).*$"; + const string DISK_TYPE_REGEX = "\\bREM\\s+ORIGINAL MEDIA-TYPE:\\s+(?<mediatype>.+)$"; + const string LEAD_OUT_REGEX = "\\bREM\\s+LEAD-OUT\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; // Not checked - const string LBARegEx = "\\bREM MSF:\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)\\s+=\\s+LBA:\\s+(?<lba>[\\d]+)$"; - const string DiskIDRegEx = "\\bDISC_ID\\s+(?<diskid>[\\da-f]{8})$"; - const string BarCodeRegEx = "\\bUPC_EAN\\s+(?<barcode>[\\d]{12,13})$"; - const string CommentRegEx = "\\bREM\\s+(?<comment>.+)$"; - const string CDTextRegEx = "\\bCDTEXTFILE\\s+(?<filename>.+)$"; - const string MCNRegEx = "\\bCATALOG\\s+(?<catalog>\\d{13})$"; - const string TitleRegEx = "\\bTITLE\\s+(?<title>.+)$"; - const string GenreRegEx = "\\bGENRE\\s+(?<genre>.+)$"; - const string ArrangerRegEx = "\\bARRANGER\\s+(?<arranger>.+)$"; - const string ComposerRegEx = "\\bCOMPOSER\\s+(?<composer>.+)$"; - const string PerformerRegEx = "\\bPERFORMER\\s+(?<performer>.+)$"; - const string SongWriterRegEx = "\\bSONGWRITER\\s+(?<songwriter>.+)$"; - const string FileRegEx = "\\bFILE\\s+(?<filename>.+)\\s+(?<type>\\S+)$"; - const string TrackRegEx = "\\bTRACK\\s+(?<number>\\d+)\\s+(?<type>\\S+)$"; - const string ISRCRegEx = "\\bISRC\\s+(?<isrc>\\w{12})$"; - const string IndexRegEx = "\\bINDEX\\s+(?<index>\\d+)\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; - const string PregapRegEx = "\\bPREGAP\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; - const string PostgapRegex = "\\bPOSTGAP\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; - const string FlagsRegEx = "\\bFLAGS\\s+(((?<dcp>DCP)|(?<quad>4CH)|(?<pre>PRE)|(?<scms>SCMS))\\s*)+$"; + const string LBA_REGEX = "\\bREM MSF:\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)\\s+=\\s+LBA:\\s+(?<lba>[\\d]+)$"; + const string DISK_ID_REGEX = "\\bDISC_ID\\s+(?<diskid>[\\da-f]{8})$"; + const string BAR_CODE_REGEX = "\\bUPC_EAN\\s+(?<barcode>[\\d]{12,13})$"; + const string COMMENT_REGEX = "\\bREM\\s+(?<comment>.+)$"; + const string CD_TEXT_REGEX = "\\bCDTEXTFILE\\s+(?<filename>.+)$"; + const string MCN_REGEX = "\\bCATALOG\\s+(?<catalog>\\d{13})$"; + const string TITLE_REGEX = "\\bTITLE\\s+(?<title>.+)$"; + const string GENRE_REGEX = "\\bGENRE\\s+(?<genre>.+)$"; + const string ARRANGER_REGEX = "\\bARRANGER\\s+(?<arranger>.+)$"; + const string COMPOSER_REGEX = "\\bCOMPOSER\\s+(?<composer>.+)$"; + const string PERFORMER_REGEX = "\\bPERFORMER\\s+(?<performer>.+)$"; + const string SONG_WRITER_REGEX = "\\bSONGWRITER\\s+(?<songwriter>.+)$"; + const string FILE_REGEX = "\\bFILE\\s+(?<filename>.+)\\s+(?<type>\\S+)$"; + const string TRACK_REGEX = "\\bTRACK\\s+(?<number>\\d+)\\s+(?<type>\\S+)$"; + const string ISRC_REGEX = "\\bISRC\\s+(?<isrc>\\w{12})$"; + const string INDEX_REGEX = "\\bINDEX\\s+(?<index>\\d+)\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; + const string PREGAP_REGEX = "\\bPREGAP\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; + const string POSTGAP_REGEX = "\\bPOSTGAP\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; + const string FLAGS_REGEX = "\\bFLAGS\\s+(((?<dcp>DCP)|(?<quad>4CH)|(?<pre>PRE)|(?<scms>SCMS))\\s*)+$"; #endregion #region Methods - public CDRWin() + public CdrWin() { Name = "CDRWin cuesheet"; - PluginUUID = new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); + PluginUuid = new Guid("664568B2-15D4-4E64-8A7A-20BDA8B8386F"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } // Due to .cue format, this method must parse whole file, ignoring errors (those will be thrown by OpenImage()). @@ -336,26 +336,26 @@ namespace DiscImageChef.ImagePlugins line++; string _line = cueStream.ReadLine(); - Regex Sr = new Regex(SessionRegEx); - Regex Rr = new Regex(CommentRegEx); - Regex Cr = new Regex(MCNRegEx); - Regex Fr = new Regex(FileRegEx); - Regex Tr = new Regex(CDTextRegEx); + Regex sr = new Regex(SESSION_REGEX); + Regex rr = new Regex(COMMENT_REGEX); + Regex cr = new Regex(MCN_REGEX); + Regex fr = new Regex(FILE_REGEX); + Regex tr = new Regex(CD_TEXT_REGEX); - Match Sm; - Match Rm; - Match Cm; - Match Fm; - Match Tm; + Match sm; + Match rm; + Match cm; + Match fm; + Match tm; // First line must be SESSION, REM, CATALOG, FILE or CDTEXTFILE. - Sm = Sr.Match(_line); - Rm = Rr.Match(_line); - Cm = Cr.Match(_line); - Fm = Fr.Match(_line); - Tm = Tr.Match(_line); + sm = sr.Match(_line); + rm = rr.Match(_line); + cm = cr.Match(_line); + fm = fr.Match(_line); + tm = tr.Match(_line); - if(!Sm.Success && !Rm.Success && !Cm.Success && !Fm.Success && !Tm.Success) return false; + if(!sm.Success && !rm.Success && !cm.Success && !fm.Success && !tm.Success) return false; return true; } @@ -386,89 +386,89 @@ namespace DiscImageChef.ImagePlugins byte currentsession = 1; // Initialize all RegExs - Regex RegexSession = new Regex(SessionRegEx); - Regex RegexDiskType = new Regex(DiskTypeRegEx); - Regex RegexLeadOut = new Regex(LeadOutRegEx); - Regex RegexLBA = new Regex(LBARegEx); - Regex RegexDiskID = new Regex(DiskIDRegEx); - Regex RegexBarCode = new Regex(BarCodeRegEx); - Regex RegexComment = new Regex(CommentRegEx); - Regex RegexCDText = new Regex(CDTextRegEx); - Regex RegexMCN = new Regex(MCNRegEx); - Regex RegexTitle = new Regex(TitleRegEx); - Regex RegexGenre = new Regex(GenreRegEx); - Regex RegexArranger = new Regex(ArrangerRegEx); - Regex RegexComposer = new Regex(ComposerRegEx); - Regex RegexPerformer = new Regex(PerformerRegEx); - Regex RegexSongWriter = new Regex(SongWriterRegEx); - Regex RegexFile = new Regex(FileRegEx); - Regex RegexTrack = new Regex(TrackRegEx); - Regex RegexISRC = new Regex(ISRCRegEx); - Regex RegexIndex = new Regex(IndexRegEx); - Regex RegexPregap = new Regex(PregapRegEx); - Regex RegexPostgap = new Regex(PostgapRegex); - Regex RegexFlags = new Regex(FlagsRegEx); + Regex regexSession = new Regex(SESSION_REGEX); + Regex regexDiskType = new Regex(DISK_TYPE_REGEX); + Regex regexLeadOut = new Regex(LEAD_OUT_REGEX); + Regex regexLba = new Regex(LBA_REGEX); + Regex regexDiskId = new Regex(DISK_ID_REGEX); + Regex regexBarCode = new Regex(BAR_CODE_REGEX); + Regex regexComment = new Regex(COMMENT_REGEX); + Regex regexCdText = new Regex(CD_TEXT_REGEX); + Regex regexMcn = new Regex(MCN_REGEX); + Regex regexTitle = new Regex(TITLE_REGEX); + Regex regexGenre = new Regex(GENRE_REGEX); + Regex regexArranger = new Regex(ARRANGER_REGEX); + Regex regexComposer = new Regex(COMPOSER_REGEX); + Regex regexPerformer = new Regex(PERFORMER_REGEX); + Regex regexSongWriter = new Regex(SONG_WRITER_REGEX); + Regex regexFile = new Regex(FILE_REGEX); + Regex regexTrack = new Regex(TRACK_REGEX); + Regex regexIsrc = new Regex(ISRC_REGEX); + Regex regexIndex = new Regex(INDEX_REGEX); + Regex regexPregap = new Regex(PREGAP_REGEX); + Regex regexPostgap = new Regex(POSTGAP_REGEX); + Regex regexFlags = new Regex(FLAGS_REGEX); // Initialize all RegEx matches - Match MatchSession; - Match MatchDiskType; - Match MatchLeadOut; - Match MatchLBA; - Match MatchDiskID; - Match MatchBarCode; - Match MatchComment; - Match MatchCDText; - Match MatchMCN; - Match MatchTitle; - Match MatchGenre; - Match MatchArranger; - Match MatchComposer; - Match MatchPerformer; - Match MatchSongWriter; - Match MatchFile; - Match MatchTrack; - Match MatchISRC; - Match MatchIndex; - Match MatchPregap; - Match MatchPostgap; - Match MatchFlags; + Match matchSession; + Match matchDiskType; + Match matchLeadOut; + Match matchLba; + Match matchDiskId; + Match matchBarCode; + Match matchComment; + Match matchCdText; + Match matchMcn; + Match matchTitle; + Match matchGenre; + Match matchArranger; + Match matchComposer; + Match matchPerformer; + Match matchSongWriter; + Match matchFile; + Match matchTrack; + Match matchIsrc; + Match matchIndex; + Match matchPregap; + Match matchPostgap; + Match matchFlags; // Initialize disc - discimage = new CDRWinDisc(); - discimage.sessions = new List<Session>(); - discimage.tracks = new List<CDRWinTrack>(); - discimage.comment = ""; + discimage = new CdrWinDisc(); + discimage.Sessions = new List<Session>(); + discimage.Tracks = new List<CdrWinTrack>(); + discimage.Comment = ""; - CDRWinTrack currenttrack = new CDRWinTrack(); - currenttrack.indexes = new Dictionary<int, ulong>(); - CDRWinTrackFile currentfile = new CDRWinTrackFile(); + CdrWinTrack currenttrack = new CdrWinTrack(); + currenttrack.Indexes = new Dictionary<int, ulong>(); + CdrWinTrackFile currentfile = new CdrWinTrackFile(); ulong currentfileoffsetsector = 0; - CDRWinTrack[] cuetracks; - int track_count = 0; + CdrWinTrack[] cuetracks; + int trackCount = 0; while(cueStream.Peek() >= 0) { line++; string _line = cueStream.ReadLine(); - MatchTrack = RegexTrack.Match(_line); - if(MatchTrack.Success) + matchTrack = regexTrack.Match(_line); + if(matchTrack.Success) { - uint track_seq = uint.Parse(MatchTrack.Groups[1].Value); - if(track_count + 1 != track_seq) + uint trackSeq = uint.Parse(matchTrack.Groups[1].Value); + if(trackCount + 1 != trackSeq) throw new FeatureUnsupportedImageException(string .Format("Found TRACK {0} out of order in line {1}", - track_seq, line)); + trackSeq, line)); - track_count++; + trackCount++; } } - if(track_count == 0) throw new FeatureUnsupportedImageException("No tracks found"); + if(trackCount == 0) throw new FeatureUnsupportedImageException("No tracks found"); - cuetracks = new CDRWinTrack[track_count]; + cuetracks = new CdrWinTrack[trackCount]; line = 0; imageFilter.GetDataForkStream().Seek(0, SeekOrigin.Begin); @@ -481,132 +481,132 @@ namespace DiscImageChef.ImagePlugins line++; string _line = cueStream.ReadLine(); - MatchSession = RegexSession.Match(_line); - MatchDiskType = RegexDiskType.Match(_line); - MatchComment = RegexComment.Match(_line); - MatchLBA = RegexLBA.Match(_line); // Unhandled, just ignored - MatchLeadOut = RegexLeadOut.Match(_line); // Unhandled, just ignored + matchSession = regexSession.Match(_line); + matchDiskType = regexDiskType.Match(_line); + matchComment = regexComment.Match(_line); + matchLba = regexLba.Match(_line); // Unhandled, just ignored + matchLeadOut = regexLeadOut.Match(_line); // Unhandled, just ignored - if(MatchDiskType.Success && !intrack) + if(matchDiskType.Success && !intrack) { DicConsole.DebugWriteLine("CDRWin plugin", "Found REM ORIGINAL MEDIA TYPE at line {0}", line); - discimage.disktypestr = MatchDiskType.Groups[1].Value; + discimage.Disktypestr = matchDiskType.Groups[1].Value; } - else if(MatchDiskType.Success && intrack) + else if(matchDiskType.Success && intrack) { throw new FeatureUnsupportedImageException(string .Format("Found REM ORIGINAL MEDIA TYPE field after a track in line {0}", line)); } - else if(MatchSession.Success) + else if(matchSession.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found REM SESSION at line {0}", line); - currentsession = byte.Parse(MatchSession.Groups[1].Value); + currentsession = byte.Parse(matchSession.Groups[1].Value); // What happens between sessions } - else if(MatchLBA.Success) + else if(matchLba.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found REM MSF at line {0}", line); // Just ignored } - else if(MatchLeadOut.Success) + else if(matchLeadOut.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found REM LEAD-OUT at line {0}", line); // Just ignored } - else if(MatchComment.Success) + else if(matchComment.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found REM at line {0}", line); - if(discimage.comment == "") discimage.comment = MatchComment.Groups[1].Value; // First comment + if(discimage.Comment == "") discimage.Comment = matchComment.Groups[1].Value; // First comment else - discimage.comment += - Environment.NewLine + MatchComment.Groups[1].Value; // Append new comments as new lines + discimage.Comment += + Environment.NewLine + matchComment.Groups[1].Value; // Append new comments as new lines } else { - MatchTrack = RegexTrack.Match(_line); - MatchTitle = RegexTitle.Match(_line); - MatchSongWriter = RegexSongWriter.Match(_line); - MatchPregap = RegexPregap.Match(_line); - MatchPostgap = RegexPostgap.Match(_line); - MatchPerformer = RegexPerformer.Match(_line); - MatchMCN = RegexMCN.Match(_line); - MatchISRC = RegexISRC.Match(_line); - MatchIndex = RegexIndex.Match(_line); - MatchGenre = RegexGenre.Match(_line); - MatchFlags = RegexFlags.Match(_line); - MatchFile = RegexFile.Match(_line); - MatchDiskID = RegexDiskID.Match(_line); - MatchComposer = RegexComposer.Match(_line); - MatchCDText = RegexCDText.Match(_line); - MatchBarCode = RegexBarCode.Match(_line); - MatchArranger = RegexArranger.Match(_line); + matchTrack = regexTrack.Match(_line); + matchTitle = regexTitle.Match(_line); + matchSongWriter = regexSongWriter.Match(_line); + matchPregap = regexPregap.Match(_line); + matchPostgap = regexPostgap.Match(_line); + matchPerformer = regexPerformer.Match(_line); + matchMcn = regexMcn.Match(_line); + matchIsrc = regexIsrc.Match(_line); + matchIndex = regexIndex.Match(_line); + matchGenre = regexGenre.Match(_line); + matchFlags = regexFlags.Match(_line); + matchFile = regexFile.Match(_line); + matchDiskId = regexDiskId.Match(_line); + matchComposer = regexComposer.Match(_line); + matchCdText = regexCdText.Match(_line); + matchBarCode = regexBarCode.Match(_line); + matchArranger = regexArranger.Match(_line); - if(MatchArranger.Success) + if(matchArranger.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found ARRANGER at line {0}", line); - if(intrack) currenttrack.arranger = MatchArranger.Groups[1].Value; - else discimage.arranger = MatchArranger.Groups[1].Value; + if(intrack) currenttrack.Arranger = matchArranger.Groups[1].Value; + else discimage.Arranger = matchArranger.Groups[1].Value; } - else if(MatchBarCode.Success) + else if(matchBarCode.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found UPC_EAN at line {0}", line); - if(!intrack) discimage.barcode = MatchBarCode.Groups[1].Value; + if(!intrack) discimage.Barcode = matchBarCode.Groups[1].Value; else throw new FeatureUnsupportedImageException(string .Format("Found barcode field in incorrect place at line {0}", line)); } - else if(MatchCDText.Success) + else if(matchCdText.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found CDTEXTFILE at line {0}", line); - if(!intrack) discimage.cdtextfile = MatchCDText.Groups[1].Value; + if(!intrack) discimage.Cdtextfile = matchCdText.Groups[1].Value; else throw new FeatureUnsupportedImageException(string .Format("Found CD-Text file field in incorrect place at line {0}", line)); } - else if(MatchComposer.Success) + else if(matchComposer.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found COMPOSER at line {0}", line); - if(intrack) currenttrack.composer = MatchComposer.Groups[1].Value; - else discimage.composer = MatchComposer.Groups[1].Value; + if(intrack) currenttrack.Composer = matchComposer.Groups[1].Value; + else discimage.Composer = matchComposer.Groups[1].Value; } - else if(MatchDiskID.Success) + else if(matchDiskId.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found DISC_ID at line {0}", line); - if(!intrack) discimage.disk_id = MatchDiskID.Groups[1].Value; + if(!intrack) discimage.DiskId = matchDiskId.Groups[1].Value; else throw new FeatureUnsupportedImageException(string .Format("Found CDDB ID field in incorrect place at line {0}", line)); } - else if(MatchFile.Success) + else if(matchFile.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found FILE at line {0}", line); - if(currenttrack.sequence != 0) + if(currenttrack.Sequence != 0) { - currentfile.sequence = currenttrack.sequence; - currenttrack.trackfile = currentfile; - currenttrack.sectors = - ((ulong)currentfile.datafilter.GetLength() - currentfile.offset) / - CDRWinTrackTypeToBytesPerSector(currenttrack.tracktype); - cuetracks[currenttrack.sequence - 1] = currenttrack; + currentfile.Sequence = currenttrack.Sequence; + currenttrack.Trackfile = currentfile; + currenttrack.Sectors = + ((ulong)currentfile.Datafilter.GetLength() - currentfile.Offset) / + CdrWinTrackTypeToBytesPerSector(currenttrack.Tracktype); + cuetracks[currenttrack.Sequence - 1] = currenttrack; intrack = false; - currenttrack = new CDRWinTrack(); - currentfile = new CDRWinTrackFile(); + currenttrack = new CdrWinTrack(); + currentfile = new CdrWinTrackFile(); filtersList = new FiltersList(); } //currentfile = new CDRWinTrackFile(); - string datafile = MatchFile.Groups[1].Value; - currentfile.filetype = MatchFile.Groups[2].Value; + string datafile = matchFile.Groups[1].Value; + currentfile.Filetype = matchFile.Groups[2].Value; // Check if file path is quoted if(datafile[0] == '"' && datafile[datafile.Length - 1] == '"') @@ -614,10 +614,10 @@ namespace DiscImageChef.ImagePlugins datafile = datafile.Substring(1, datafile.Length - 2); // Unquote it } - currentfile.datafilter = filtersList.GetFilter(datafile); + currentfile.Datafilter = filtersList.GetFilter(datafile); // Check if file exists - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) { if(datafile[0] == '/' || (datafile[0] == '/' && datafile[1] == '.') ) // UNIX absolute path @@ -627,26 +627,26 @@ namespace DiscImageChef.ImagePlugins if(unixpathmatch.Success) { - currentfile.datafilter = filtersList.GetFilter(unixpathmatch.Groups[1].Value); + currentfile.Datafilter = filtersList.GetFilter(unixpathmatch.Groups[1].Value); - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) { string path = imageFilter.GetParentFolder() + Path.PathSeparator + unixpathmatch.Groups[1].Value; - currentfile.datafilter = filtersList.GetFilter(path); + currentfile.Datafilter = filtersList.GetFilter(path); - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) throw new FeatureUnsupportedImageException(string .Format("File \"{0}\" not found.", - MatchFile + matchFile .Groups[1].Value)); } } else throw new FeatureUnsupportedImageException(string.Format("File \"{0}\" not found.", - MatchFile.Groups[1].Value)); + matchFile.Groups[1].Value)); } else if((datafile[1] == ':' && datafile[2] == '\\') || (datafile[0] == '\\' && datafile[1] == '\\') || @@ -658,64 +658,64 @@ namespace DiscImageChef.ImagePlugins Match winpathmatch = winpath.Match(datafile); if(winpathmatch.Success) { - currentfile.datafilter = filtersList.GetFilter(winpathmatch.Groups[1].Value); + currentfile.Datafilter = filtersList.GetFilter(winpathmatch.Groups[1].Value); - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) { string path = imageFilter.GetParentFolder() + Path.PathSeparator + winpathmatch.Groups[1].Value; - currentfile.datafilter = filtersList.GetFilter(path); + currentfile.Datafilter = filtersList.GetFilter(path); - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) throw new FeatureUnsupportedImageException(string .Format("File \"{0}\" not found.", - MatchFile + matchFile .Groups[1].Value)); } } else throw new FeatureUnsupportedImageException(string.Format("File \"{0}\" not found.", - MatchFile.Groups[1].Value)); + matchFile.Groups[1].Value)); } else { string path = imageFilter.GetParentFolder() + Path.PathSeparator + datafile; - currentfile.datafilter = filtersList.GetFilter(path); + currentfile.Datafilter = filtersList.GetFilter(path); - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) throw new FeatureUnsupportedImageException(string.Format("File \"{0}\" not found.", - MatchFile.Groups[1].Value)); + matchFile.Groups[1].Value)); } } // File does exist, process it DicConsole.DebugWriteLine("CDRWin plugin", "File \"{0}\" found", - currentfile.datafilter.GetFilename()); + currentfile.Datafilter.GetFilename()); - switch(currentfile.filetype) + switch(currentfile.Filetype) { - case CDRWinDiskTypeLittleEndian: break; - case CDRWinDiskTypeBigEndian: - case CDRWinDiskTypeAIFF: - case CDRWinDiskTypeRIFF: - case CDRWinDiskTypeMP3: + case CDRWIN_DISK_TYPE_LITTLE_ENDIAN: break; + case CDRWIN_DISK_TYPE_BIG_ENDIAN: + case CDRWIN_DISK_TYPE_AIFF: + case CDRWIN_DISK_TYPE_RIFF: + case CDRWIN_DISK_TYPE_MP3: throw new FeatureSupportedButNotImplementedImageException(string .Format("Unsupported file type {0}", currentfile - .filetype)); + .Filetype)); default: throw new FeatureUnsupportedImageException(string.Format("Unknown file type {0}", - currentfile.filetype)); + currentfile.Filetype)); } - currentfile.offset = 0; - currentfile.sequence = 0; + currentfile.Offset = 0; + currentfile.Sequence = 0; } - else if(MatchFlags.Success) + else if(matchFlags.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found FLAGS at line {0}", line); if(!intrack) @@ -724,18 +724,18 @@ namespace DiscImageChef.ImagePlugins .Format("Found FLAGS field in incorrect place at line {0}", line)); - currenttrack.flag_dcp |= MatchFile.Groups["dcp"].Value == "DCP"; - currenttrack.flag_4ch |= MatchFile.Groups["quad"].Value == "4CH"; - currenttrack.flag_pre |= MatchFile.Groups["pre"].Value == "PRE"; - currenttrack.flag_scms |= MatchFile.Groups["scms"].Value == "SCMS"; + currenttrack.FlagDcp |= matchFile.Groups["dcp"].Value == "DCP"; + currenttrack.Flag4ch |= matchFile.Groups["quad"].Value == "4CH"; + currenttrack.FlagPre |= matchFile.Groups["pre"].Value == "PRE"; + currenttrack.FlagScms |= matchFile.Groups["scms"].Value == "SCMS"; } - else if(MatchGenre.Success) + else if(matchGenre.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found GENRE at line {0}", line); - if(intrack) currenttrack.genre = MatchGenre.Groups[1].Value; - else discimage.genre = MatchGenre.Groups[1].Value; + if(intrack) currenttrack.Genre = matchGenre.Groups[1].Value; + else discimage.Genre = matchGenre.Groups[1].Value; } - else if(MatchIndex.Success) + else if(matchIndex.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found INDEX at line {0}", line); if(!intrack) @@ -744,49 +744,49 @@ namespace DiscImageChef.ImagePlugins line)); else { - int index = int.Parse(MatchIndex.Groups[1].Value); - ulong offset = CDRWinMSFToLBA(MatchIndex.Groups[2].Value); + int index = int.Parse(matchIndex.Groups[1].Value); + ulong offset = CdrWinMsftoLba(matchIndex.Groups[2].Value); - if((index != 0 && index != 1) && currenttrack.indexes.Count == 0) + if((index != 0 && index != 1) && currenttrack.Indexes.Count == 0) throw new FeatureUnsupportedImageException(string .Format("Found INDEX {0} before INDEX 00 or INDEX 01", index)); - if((index == 0 || (index == 1 && !currenttrack.indexes.ContainsKey(0)))) + if((index == 0 || (index == 1 && !currenttrack.Indexes.ContainsKey(0)))) { - if((int)(currenttrack.sequence - 2) >= 0 && offset > 1) + if((int)(currenttrack.Sequence - 2) >= 0 && offset > 1) { - cuetracks[currenttrack.sequence - 2].sectors = offset - currentfileoffsetsector; - currentfile.offset += - cuetracks[currenttrack.sequence - 2].sectors * - cuetracks[currenttrack.sequence - 2].bps; + cuetracks[currenttrack.Sequence - 2].Sectors = offset - currentfileoffsetsector; + currentfile.Offset += + cuetracks[currenttrack.Sequence - 2].Sectors * + cuetracks[currenttrack.Sequence - 2].Bps; DicConsole.DebugWriteLine("CDRWin plugin", "Sets currentfile.offset to {0} at line 553", - currentfile.offset); + currentfile.Offset); DicConsole.DebugWriteLine("CDRWin plugin", "cuetracks[currenttrack.sequence-2].sectors = {0}", - cuetracks[currenttrack.sequence - 2].sectors); + cuetracks[currenttrack.Sequence - 2].Sectors); DicConsole.DebugWriteLine("CDRWin plugin", "cuetracks[currenttrack.sequence-2].bps = {0}", - cuetracks[currenttrack.sequence - 2].bps); + cuetracks[currenttrack.Sequence - 2].Bps); } } - if((index == 0 || (index == 1 && !currenttrack.indexes.ContainsKey(0))) && - currenttrack.sequence == 1) + if((index == 0 || (index == 1 && !currenttrack.Indexes.ContainsKey(0))) && + currenttrack.Sequence == 1) { DicConsole.DebugWriteLine("CDRWin plugin", "Sets currentfile.offset to {0} at line 559", - offset * currenttrack.bps); - currentfile.offset = offset * currenttrack.bps; + offset * currenttrack.Bps); + currentfile.Offset = offset * currenttrack.Bps; } currentfileoffsetsector = offset; - currenttrack.indexes.Add(index, offset); + currenttrack.Indexes.Add(index, offset); } } - else if(MatchISRC.Success) + else if(matchIsrc.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found ISRC at line {0}", line); if(!intrack) @@ -794,60 +794,60 @@ namespace DiscImageChef.ImagePlugins FeatureUnsupportedImageException(string.Format("Found ISRC before a track {0}", line)); - currenttrack.isrc = MatchISRC.Groups[1].Value; + currenttrack.Isrc = matchIsrc.Groups[1].Value; } - else if(MatchMCN.Success) + else if(matchMcn.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found CATALOG at line {0}", line); - if(!intrack) discimage.mcn = MatchMCN.Groups[1].Value; + if(!intrack) discimage.Mcn = matchMcn.Groups[1].Value; else throw new FeatureUnsupportedImageException(string .Format("Found CATALOG field in incorrect place at line {0}", line)); } - else if(MatchPerformer.Success) + else if(matchPerformer.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found PERFORMER at line {0}", line); - if(intrack) currenttrack.performer = MatchPerformer.Groups[1].Value; - else discimage.performer = MatchPerformer.Groups[1].Value; + if(intrack) currenttrack.Performer = matchPerformer.Groups[1].Value; + else discimage.Performer = matchPerformer.Groups[1].Value; } - else if(MatchPostgap.Success) + else if(matchPostgap.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found POSTGAP at line {0}", line); - if(intrack) { currenttrack.postgap = CDRWinMSFToLBA(MatchPostgap.Groups[1].Value); } + if(intrack) { currenttrack.Postgap = CdrWinMsftoLba(matchPostgap.Groups[1].Value); } else throw new FeatureUnsupportedImageException(string .Format("Found POSTGAP field before a track at line {0}", line)); } - else if(MatchPregap.Success) + else if(matchPregap.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found PREGAP at line {0}", line); - if(intrack) { currenttrack.pregap = CDRWinMSFToLBA(MatchPregap.Groups[1].Value); } + if(intrack) { currenttrack.Pregap = CdrWinMsftoLba(matchPregap.Groups[1].Value); } else throw new FeatureUnsupportedImageException(string .Format("Found PREGAP field before a track at line {0}", line)); } - else if(MatchSongWriter.Success) + else if(matchSongWriter.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found SONGWRITER at line {0}", line); - if(intrack) currenttrack.songwriter = MatchSongWriter.Groups[1].Value; - else discimage.songwriter = MatchSongWriter.Groups[1].Value; + if(intrack) currenttrack.Songwriter = matchSongWriter.Groups[1].Value; + else discimage.Songwriter = matchSongWriter.Groups[1].Value; } - else if(MatchTitle.Success) + else if(matchTitle.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found TITLE at line {0}", line); - if(intrack) currenttrack.title = MatchTitle.Groups[1].Value; - else discimage.title = MatchTitle.Groups[1].Value; + if(intrack) currenttrack.Title = matchTitle.Groups[1].Value; + else discimage.Title = matchTitle.Groups[1].Value; } - else if(MatchTrack.Success) + else if(matchTrack.Success) { DicConsole.DebugWriteLine("CDRWin plugin", "Found TRACK at line {0}", line); - if(currentfile.datafilter == null) + if(currentfile.Datafilter == null) throw new FeatureUnsupportedImageException(string .Format("Found TRACK field before a file is defined at line {0}", @@ -855,23 +855,23 @@ namespace DiscImageChef.ImagePlugins if(intrack) { - if(currenttrack.indexes.ContainsKey(0) && currenttrack.pregap == 0) + if(currenttrack.Indexes.ContainsKey(0) && currenttrack.Pregap == 0) { - currenttrack.indexes.TryGetValue(0, out currenttrack.pregap); + currenttrack.Indexes.TryGetValue(0, out currenttrack.Pregap); } - currentfile.sequence = currenttrack.sequence; - currenttrack.trackfile = currentfile; - cuetracks[currenttrack.sequence - 1] = currenttrack; + currentfile.Sequence = currenttrack.Sequence; + currenttrack.Trackfile = currentfile; + cuetracks[currenttrack.Sequence - 1] = currenttrack; } - currenttrack = new CDRWinTrack(); - currenttrack.indexes = new Dictionary<int, ulong>(); - currenttrack.sequence = uint.Parse(MatchTrack.Groups[1].Value); + currenttrack = new CdrWinTrack(); + currenttrack.Indexes = new Dictionary<int, ulong>(); + currenttrack.Sequence = uint.Parse(matchTrack.Groups[1].Value); DicConsole.DebugWriteLine("CDRWin plugin", "Setting currenttrack.sequence to {0}", - currenttrack.sequence); - currentfile.sequence = currenttrack.sequence; - currenttrack.bps = CDRWinTrackTypeToBytesPerSector(MatchTrack.Groups[2].Value); - currenttrack.tracktype = MatchTrack.Groups[2].Value; - currenttrack.session = currentsession; + currenttrack.Sequence); + currentfile.Sequence = currenttrack.Sequence; + currenttrack.Bps = CdrWinTrackTypeToBytesPerSector(matchTrack.Groups[2].Value); + currenttrack.Tracktype = matchTrack.Groups[2].Value; + currenttrack.Session = currentsession; intrack = true; } else if(_line == "") // Empty line, ignore it @@ -886,46 +886,46 @@ namespace DiscImageChef.ImagePlugins } } - if(currenttrack.sequence != 0) + if(currenttrack.Sequence != 0) { - currentfile.sequence = currenttrack.sequence; - currenttrack.trackfile = currentfile; - currenttrack.sectors = ((ulong)currentfile.datafilter.GetLength() - currentfile.offset) / - CDRWinTrackTypeToBytesPerSector(currenttrack.tracktype); - cuetracks[currenttrack.sequence - 1] = currenttrack; + currentfile.Sequence = currenttrack.Sequence; + currenttrack.Trackfile = currentfile; + currenttrack.Sectors = ((ulong)currentfile.Datafilter.GetLength() - currentfile.Offset) / + CdrWinTrackTypeToBytesPerSector(currenttrack.Tracktype); + cuetracks[currenttrack.Sequence - 1] = currenttrack; } - Session[] _sessions = new Session[currentsession]; - for(int s = 1; s <= _sessions.Length; s++) + Session[] sessions = new Session[currentsession]; + for(int s = 1; s <= sessions.Length; s++) { - _sessions[s - 1].SessionSequence = 1; + sessions[s - 1].SessionSequence = 1; - if(s > 1) _sessions[s - 1].StartSector = _sessions[s - 2].EndSector + 1; - else _sessions[s - 1].StartSector = 0; + if(s > 1) sessions[s - 1].StartSector = sessions[s - 2].EndSector + 1; + else sessions[s - 1].StartSector = 0; - ulong session_sectors = 0; - int last_session_track = 0; + ulong sessionSectors = 0; + int lastSessionTrack = 0; for(int i = 0; i < cuetracks.Length; i++) { - if(cuetracks[i].session == s) + if(cuetracks[i].Session == s) { - session_sectors += cuetracks[i].sectors; - if(i > last_session_track) last_session_track = i; + sessionSectors += cuetracks[i].Sectors; + if(i > lastSessionTrack) lastSessionTrack = i; } } - _sessions[s - 1].EndTrack = cuetracks[last_session_track].sequence; - _sessions[s - 1].EndSector = session_sectors - 1; + sessions[s - 1].EndTrack = cuetracks[lastSessionTrack].Sequence; + sessions[s - 1].EndSector = sessionSectors - 1; } - for(int s = 1; s <= _sessions.Length; s++) discimage.sessions.Add(_sessions[s - 1]); + for(int s = 1; s <= sessions.Length; s++) discimage.Sessions.Add(sessions[s - 1]); - for(int t = 1; t <= cuetracks.Length; t++) discimage.tracks.Add(cuetracks[t - 1]); + for(int t = 1; t <= cuetracks.Length; t++) discimage.Tracks.Add(cuetracks[t - 1]); - discimage.disktype = CDRWinIsoBusterDiscTypeToMediaType(discimage.disktypestr); + discimage.Disktype = CdrWinIsoBusterDiscTypeToMediaType(discimage.Disktypestr); - if(discimage.disktype == MediaType.Unknown || discimage.disktype == MediaType.CD) + if(discimage.Disktype == MediaType.Unknown || discimage.Disktype == MediaType.CD) { bool data = false; bool cdg = false; @@ -935,169 +935,169 @@ namespace DiscImageChef.ImagePlugins bool firstdata = false; bool audio = false; - for(int i = 0; i < discimage.tracks.Count; i++) + for(int i = 0; i < discimage.Tracks.Count; i++) { // First track is audio - firstaudio |= i == 0 && discimage.tracks[i].tracktype == CDRWinTrackTypeAudio; + firstaudio |= i == 0 && discimage.Tracks[i].Tracktype == CDRWIN_TRACK_TYPE_AUDIO; // First track is data - firstdata |= i == 0 && discimage.tracks[i].tracktype != CDRWinTrackTypeAudio; + firstdata |= i == 0 && discimage.Tracks[i].Tracktype != CDRWIN_TRACK_TYPE_AUDIO; // Any non first track is data - data |= i != 0 && discimage.tracks[i].tracktype != CDRWinTrackTypeAudio; + data |= i != 0 && discimage.Tracks[i].Tracktype != CDRWIN_TRACK_TYPE_AUDIO; // Any non first track is audio - audio |= i != 0 && discimage.tracks[i].tracktype == CDRWinTrackTypeAudio; + audio |= i != 0 && discimage.Tracks[i].Tracktype == CDRWIN_TRACK_TYPE_AUDIO; - switch(discimage.tracks[i].tracktype) + switch(discimage.Tracks[i].Tracktype) { - case CDRWinTrackTypeCDG: + case CDRWIN_TRACK_TYPE_CDG: cdg = true; break; - case CDRWinTrackTypeCDI: - case CDRWinTrackTypeCDIRaw: + case CDRWIN_TRACK_TYPE_CDI: + case CDRWIN_TRACK_TYPE_CDI_RAW: cdi = true; break; - case CDRWinTrackTypeMode2Form1: - case CDRWinTrackTypeMode2Form2: - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeMode2Raw: + case CDRWIN_TRACK_TYPE_MODE2_FORM1: + case CDRWIN_TRACK_TYPE_MODE2_FORM2: + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_MODE2_RAW: mode2 = true; break; } } - if(!data && !firstdata) discimage.disktype = MediaType.CDDA; - else if(cdg) discimage.disktype = MediaType.CDG; - else if(cdi) discimage.disktype = MediaType.CDI; - else if(firstaudio && data && discimage.sessions.Count > 1 && mode2) - discimage.disktype = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) discimage.disktype = MediaType.CDROMXA; - else if(!audio) discimage.disktype = MediaType.CDROM; - else discimage.disktype = MediaType.CD; + if(!data && !firstdata) discimage.Disktype = MediaType.CDDA; + else if(cdg) discimage.Disktype = MediaType.CDG; + else if(cdi) discimage.Disktype = MediaType.CDI; + else if(firstaudio && data && discimage.Sessions.Count > 1 && mode2) + discimage.Disktype = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) discimage.Disktype = MediaType.CDROMXA; + else if(!audio) discimage.Disktype = MediaType.CDROM; + else discimage.Disktype = MediaType.CD; } // DEBUG information DicConsole.DebugWriteLine("CDRWin plugin", "Disc image parsing results"); DicConsole.DebugWriteLine("CDRWin plugin", "Disc CD-TEXT:"); - if(discimage.arranger == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tArranger is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tArranger: {0}", discimage.arranger); - if(discimage.composer == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tComposer is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tComposer: {0}", discimage.composer); - if(discimage.genre == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tGenre is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tGenre: {0}", discimage.genre); - if(discimage.performer == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tPerformer is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tPerformer: {0}", discimage.performer); - if(discimage.songwriter == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tSongwriter is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tSongwriter: {0}", discimage.songwriter); - if(discimage.title == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tTitle is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tTitle: {0}", discimage.title); - if(discimage.cdtextfile == null) + if(discimage.Arranger == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tArranger is not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tArranger: {0}", discimage.Arranger); + if(discimage.Composer == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tComposer is not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tComposer: {0}", discimage.Composer); + if(discimage.Genre == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tGenre is not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tGenre: {0}", discimage.Genre); + if(discimage.Performer == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tPerformer is not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tPerformer: {0}", discimage.Performer); + if(discimage.Songwriter == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tSongwriter is not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tSongwriter: {0}", discimage.Songwriter); + if(discimage.Title == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tTitle is not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tTitle: {0}", discimage.Title); + if(discimage.Cdtextfile == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tCD-TEXT binary file not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tCD-TEXT binary file: {0}", discimage.cdtextfile); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tCD-TEXT binary file: {0}", discimage.Cdtextfile); DicConsole.DebugWriteLine("CDRWin plugin", "Disc information:"); - if(discimage.disktypestr == null) + if(discimage.Disktypestr == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tISOBuster disc type not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tISOBuster disc type: {0}", discimage.disktypestr); - DicConsole.DebugWriteLine("CDRWin plugin", "\tGuessed disk type: {0}", discimage.disktype); - if(discimage.barcode == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tBarcode not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tBarcode: {0}", discimage.barcode); - if(discimage.disk_id == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc ID not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc ID: {0}", discimage.disk_id); - if(discimage.mcn == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tMCN not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tMCN: {0}", discimage.mcn); - if(discimage.comment == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tComment not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\tComment: \"{0}\"", discimage.comment); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tISOBuster disc type: {0}", discimage.Disktypestr); + DicConsole.DebugWriteLine("CDRWin plugin", "\tGuessed disk type: {0}", discimage.Disktype); + if(discimage.Barcode == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tBarcode not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tBarcode: {0}", discimage.Barcode); + if(discimage.DiskId == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc ID not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc ID: {0}", discimage.DiskId); + if(discimage.Mcn == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tMCN not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tMCN: {0}", discimage.Mcn); + if(discimage.Comment == null) DicConsole.DebugWriteLine("CDRWin plugin", "\tComment not set."); + else DicConsole.DebugWriteLine("CDRWin plugin", "\tComment: \"{0}\"", discimage.Comment); DicConsole.DebugWriteLine("CDRWin plugin", "Session information:"); - DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc contains {0} sessions", discimage.sessions.Count); - for(int i = 0; i < discimage.sessions.Count; i++) + DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc contains {0} sessions", discimage.Sessions.Count); + for(int i = 0; i < discimage.Sessions.Count; i++) { DicConsole.DebugWriteLine("CDRWin plugin", "\tSession {0} information:", i + 1); DicConsole.DebugWriteLine("CDRWin plugin", "\t\tStarting track: {0}", - discimage.sessions[i].StartTrack); + discimage.Sessions[i].StartTrack); DicConsole.DebugWriteLine("CDRWin plugin", "\t\tStarting sector: {0}", - discimage.sessions[i].StartSector); - DicConsole.DebugWriteLine("CDRWin plugin", "\t\tEnding track: {0}", discimage.sessions[i].EndTrack); + discimage.Sessions[i].StartSector); + DicConsole.DebugWriteLine("CDRWin plugin", "\t\tEnding track: {0}", discimage.Sessions[i].EndTrack); DicConsole.DebugWriteLine("CDRWin plugin", "\t\tEnding sector: {0}", - discimage.sessions[i].EndSector); + discimage.Sessions[i].EndSector); } DicConsole.DebugWriteLine("CDRWin plugin", "Track information:"); - DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc contains {0} tracks", discimage.tracks.Count); - for(int i = 0; i < discimage.tracks.Count; i++) + DicConsole.DebugWriteLine("CDRWin plugin", "\tDisc contains {0} tracks", discimage.Tracks.Count); + for(int i = 0; i < discimage.Tracks.Count; i++) { DicConsole.DebugWriteLine("CDRWin plugin", "\tTrack {0} information:", - discimage.tracks[i].sequence); + discimage.Tracks[i].Sequence); - DicConsole.DebugWriteLine("CDRWin plugin", "\t\t{0} bytes per sector", discimage.tracks[i].bps); - DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPregap: {0} sectors", discimage.tracks[i].pregap); - DicConsole.DebugWriteLine("CDRWin plugin", "\t\tData: {0} sectors", discimage.tracks[i].sectors); - DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPostgap: {0} sectors", discimage.tracks[i].postgap); + DicConsole.DebugWriteLine("CDRWin plugin", "\t\t{0} bytes per sector", discimage.Tracks[i].Bps); + DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPregap: {0} sectors", discimage.Tracks[i].Pregap); + DicConsole.DebugWriteLine("CDRWin plugin", "\t\tData: {0} sectors", discimage.Tracks[i].Sectors); + DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPostgap: {0} sectors", discimage.Tracks[i].Postgap); - if(discimage.tracks[i].flag_4ch) + if(discimage.Tracks[i].Flag4ch) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack is flagged as quadraphonic"); - if(discimage.tracks[i].flag_dcp) + if(discimage.Tracks[i].FlagDcp) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack allows digital copy"); - if(discimage.tracks[i].flag_pre) + if(discimage.Tracks[i].FlagPre) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack has pre-emphasis applied"); - if(discimage.tracks[i].flag_scms) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack has SCMS"); + if(discimage.Tracks[i].FlagScms) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack has SCMS"); DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTrack resides in file {0}, type defined as {1}, starting at byte {2}", - discimage.tracks[i].trackfile.datafilter.GetFilename(), - discimage.tracks[i].trackfile.filetype, - discimage.tracks[i].trackfile.offset); + discimage.Tracks[i].Trackfile.Datafilter.GetFilename(), + discimage.Tracks[i].Trackfile.Filetype, + discimage.Tracks[i].Trackfile.Offset); DicConsole.DebugWriteLine("CDRWin plugin", "\t\tIndexes:"); - foreach(KeyValuePair<int, ulong> kvp in discimage.tracks[i].indexes) + foreach(KeyValuePair<int, ulong> kvp in discimage.Tracks[i].Indexes) DicConsole.DebugWriteLine("CDRWin plugin", "\t\t\tIndex {0} starts at sector {1}", kvp.Key, kvp.Value); - if(discimage.tracks[i].isrc == null) + if(discimage.Tracks[i].Isrc == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tISRC is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tISRC: {0}", discimage.tracks[i].isrc); + else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tISRC: {0}", discimage.Tracks[i].Isrc); - if(discimage.tracks[i].arranger == null) + if(discimage.Tracks[i].Arranger == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tArranger is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tArranger: {0}", discimage.tracks[i].arranger); - if(discimage.tracks[i].composer == null) + else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tArranger: {0}", discimage.Tracks[i].Arranger); + if(discimage.Tracks[i].Composer == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tComposer is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tComposer: {0}", discimage.tracks[i].composer); - if(discimage.tracks[i].genre == null) + else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tComposer: {0}", discimage.Tracks[i].Composer); + if(discimage.Tracks[i].Genre == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tGenre is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tGenre: {0}", discimage.tracks[i].genre); - if(discimage.tracks[i].performer == null) + else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tGenre: {0}", discimage.Tracks[i].Genre); + if(discimage.Tracks[i].Performer == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPerformer is not set."); else - DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPerformer: {0}", discimage.tracks[i].performer); - if(discimage.tracks[i].songwriter == null) + DicConsole.DebugWriteLine("CDRWin plugin", "\t\tPerformer: {0}", discimage.Tracks[i].Performer); + if(discimage.Tracks[i].Songwriter == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tSongwriter is not set."); else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tSongwriter: {0}", - discimage.tracks[i].songwriter); - if(discimage.tracks[i].title == null) + discimage.Tracks[i].Songwriter); + if(discimage.Tracks[i].Title == null) DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTitle is not set."); - else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTitle: {0}", discimage.tracks[i].title); + else DicConsole.DebugWriteLine("CDRWin plugin", "\t\tTitle: {0}", discimage.Tracks[i].Title); } DicConsole.DebugWriteLine("CDRWin plugin", "Building offset map"); partitions = new List<Partition>(); - ulong byte_offset = 0; - ulong sector_offset = 0; + ulong byteOffset = 0; + ulong sectorOffset = 0; ulong partitionSequence = 0; - ulong index_zero_offset = 0; - ulong index_one_offset = 0; - bool index_zero = false; + ulong indexZeroOffset = 0; + ulong indexOneOffset = 0; + bool indexZero = false; offsetmap = new Dictionary<uint, ulong>(); - for(int i = 0; i < discimage.tracks.Count; i++) + for(int i = 0; i < discimage.Tracks.Count; i++) { - ulong index0_len = 0; + ulong index0Len = 0; - if(discimage.tracks[i].sequence == 1 && i != 0) + if(discimage.Tracks[i].Sequence == 1 && i != 0) throw new ImageNotSupportedException("Unordered tracks"); Partition partition = new Partition(); @@ -1135,11 +1135,11 @@ namespace DiscImageChef.ImagePlugins partition = new Partition(); }*/ - index_zero |= discimage.tracks[i].indexes.TryGetValue(0, out index_zero_offset); + indexZero |= discimage.Tracks[i].Indexes.TryGetValue(0, out indexZeroOffset); - if(!discimage.tracks[i].indexes.TryGetValue(1, out index_one_offset)) + if(!discimage.Tracks[i].Indexes.TryGetValue(1, out indexOneOffset)) throw new ImageNotSupportedException(string.Format("Track {0} lacks index 01", - discimage.tracks[i].sequence)); + discimage.Tracks[i].Sequence)); /*if(index_zero && index_one_offset > index_zero_offset) { @@ -1176,30 +1176,30 @@ namespace DiscImageChef.ImagePlugins }*/ // Index 01 - partition.Description = string.Format("Track {0}.", discimage.tracks[i].sequence); - partition.Name = discimage.tracks[i].title; - partition.Start = sector_offset; - partition.Size = (discimage.tracks[i].sectors - index0_len) * discimage.tracks[i].bps; - partition.Length = (discimage.tracks[i].sectors - index0_len); + partition.Description = string.Format("Track {0}.", discimage.Tracks[i].Sequence); + partition.Name = discimage.Tracks[i].Title; + partition.Start = sectorOffset; + partition.Size = (discimage.Tracks[i].Sectors - index0Len) * discimage.Tracks[i].Bps; + partition.Length = (discimage.Tracks[i].Sectors - index0Len); partition.Sequence = partitionSequence; - partition.Offset = byte_offset; - partition.Type = discimage.tracks[i].tracktype; + partition.Offset = byteOffset; + partition.Type = discimage.Tracks[i].Tracktype; - sector_offset += partition.Length; - byte_offset += partition.Size; + sectorOffset += partition.Length; + byteOffset += partition.Size; partitionSequence++; - if(!offsetmap.ContainsKey(discimage.tracks[i].sequence)) - offsetmap.Add(discimage.tracks[i].sequence, partition.Start); + if(!offsetmap.ContainsKey(discimage.Tracks[i].Sequence)) + offsetmap.Add(discimage.Tracks[i].Sequence, partition.Start); else { - ulong old_start; - offsetmap.TryGetValue(discimage.tracks[i].sequence, out old_start); + ulong oldStart; + offsetmap.TryGetValue(discimage.Tracks[i].Sequence, out oldStart); - if(partition.Start < old_start) + if(partition.Start < oldStart) { - offsetmap.Remove(discimage.tracks[i].sequence); - offsetmap.Add(discimage.tracks[i].sequence, partition.Start); + offsetmap.Remove(discimage.Tracks[i].Sequence); + offsetmap.Add(discimage.Tracks[i].Sequence, partition.Start); } } @@ -1221,101 +1221,101 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("CDRWin plugin", "\tPartition size in bytes: {0}", partition.Size); } - foreach(CDRWinTrack track in discimage.tracks) ImageInfo.imageSize += track.bps * track.sectors; - foreach(CDRWinTrack track in discimage.tracks) ImageInfo.sectors += track.sectors; + foreach(CdrWinTrack track in discimage.Tracks) ImageInfo.ImageSize += track.Bps * track.Sectors; + foreach(CdrWinTrack track in discimage.Tracks) ImageInfo.Sectors += track.Sectors; - if(discimage.disktype == MediaType.CDG || discimage.disktype == MediaType.CDEG || - discimage.disktype == MediaType.CDMIDI) - ImageInfo.sectorSize = 2448; // CD+G subchannels ARE user data, as CD+G are useless without them - else if(discimage.disktype != MediaType.CDROMXA && discimage.disktype != MediaType.CDDA && - discimage.disktype != MediaType.CDI && - discimage.disktype != MediaType.CDPLUS) ImageInfo.sectorSize = 2048; // Only data tracks - else ImageInfo.sectorSize = 2352; // All others + if(discimage.Disktype == MediaType.CDG || discimage.Disktype == MediaType.CDEG || + discimage.Disktype == MediaType.CDMIDI) + ImageInfo.SectorSize = 2448; // CD+G subchannels ARE user data, as CD+G are useless without them + else if(discimage.Disktype != MediaType.CDROMXA && discimage.Disktype != MediaType.CDDA && + discimage.Disktype != MediaType.CDI && + discimage.Disktype != MediaType.CDPLUS) ImageInfo.SectorSize = 2048; // Only data tracks + else ImageInfo.SectorSize = 2352; // All others - if(discimage.mcn != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_MCN); - if(discimage.cdtextfile != null) ImageInfo.readableMediaTags.Add(MediaTagType.CD_TEXT); + if(discimage.Mcn != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_MCN); + if(discimage.Cdtextfile != null) ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_TEXT); // Detect ISOBuster extensions - if(discimage.disktypestr != null || discimage.comment.ToLower().Contains("isobuster") || - discimage.sessions.Count > 1) ImageInfo.imageApplication = "ISOBuster"; - else ImageInfo.imageApplication = "CDRWin"; + if(discimage.Disktypestr != null || discimage.Comment.ToLower().Contains("isobuster") || + discimage.Sessions.Count > 1) ImageInfo.ImageApplication = "ISOBuster"; + else ImageInfo.ImageApplication = "CDRWin"; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageComments = discimage.comment; - ImageInfo.mediaSerialNumber = discimage.mcn; - ImageInfo.mediaBarcode = discimage.barcode; - ImageInfo.mediaType = discimage.disktype; + ImageInfo.ImageComments = discimage.Comment; + ImageInfo.MediaSerialNumber = discimage.Mcn; + ImageInfo.MediaBarcode = discimage.Barcode; + ImageInfo.MediaType = discimage.Disktype; - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackFlags); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackFlags); - foreach(CDRWinTrack track in discimage.tracks) + foreach(CdrWinTrack track in discimage.Tracks) { - switch(track.tracktype) + switch(track.Tracktype) { - case CDRWinTrackTypeAudio: + case CDRWIN_TRACK_TYPE_AUDIO: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDTrackISRC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackISRC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdTrackIsrc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackIsrc); break; } - case CDRWinTrackTypeCDG: + case CDRWIN_TRACK_TYPE_CDG: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDTrackISRC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackISRC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdTrackIsrc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackIsrc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); break; } - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeCDI: + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_CDI: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; } - case CDRWinTrackTypeMode2Raw: - case CDRWinTrackTypeCDIRaw: + case CDRWIN_TRACK_TYPE_MODE2_RAW: + case CDRWIN_TRACK_TYPE_CDI_RAW: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; } - case CDRWinTrackTypeMode1Raw: + case CDRWIN_TRACK_TYPE_MODE1_RAW: { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; } } } - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - DicConsole.VerboseWriteLine("CDRWIN image describes a disc of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("CDRWIN comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("CDRWIN image describes a disc of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("CDRWIN comments: {0}", ImageInfo.ImageComments); return true; } @@ -1330,22 +1330,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -1354,13 +1354,13 @@ namespace DiscImageChef.ImagePlugins { case MediaTagType.CD_MCN: { - if(discimage.mcn != null) { return Encoding.ASCII.GetBytes(discimage.mcn); } + if(discimage.Mcn != null) { return Encoding.ASCII.GetBytes(discimage.Mcn); } throw new FeatureNotPresentImageException("Image does not contain MCN information."); } case MediaTagType.CD_TEXT: { - if(discimage.cdtextfile != null) + if(discimage.Cdtextfile != null) // TODO: Check that binary text file exists, open it, read it, send it to caller. throw new FeatureSupportedButNotImplementedImageException("Feature not yet implemented"); @@ -1397,11 +1397,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(CDRWinTrack cdrwin_track in discimage.tracks) + foreach(CdrWinTrack cdrwinTrack in discimage.Tracks) { - if(cdrwin_track.sequence == kvp.Key) + if(cdrwinTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < cdrwin_track.sectors) + if((sectorAddress - kvp.Value) < cdrwinTrack.Sectors) return ReadSectors((sectorAddress - kvp.Value), length, kvp.Key); } } @@ -1417,11 +1417,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(CDRWinTrack cdrwin_track in discimage.tracks) + foreach(CdrWinTrack cdrwinTrack in discimage.Tracks) { - if(cdrwin_track.sequence == kvp.Key) + if(cdrwinTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < cdrwin_track.sectors) + if((sectorAddress - kvp.Value) < cdrwinTrack.Sectors) return ReadSectorsTag((sectorAddress - kvp.Value), length, kvp.Key, tag); } } @@ -1433,110 +1433,110 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length, uint track) { - CDRWinTrack _track = new CDRWinTrack(); + CdrWinTrack _track = new CdrWinTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(CDRWinTrack cdrwin_track in discimage.tracks) + foreach(CdrWinTrack cdrwinTrack in discimage.Tracks) { - if(cdrwin_track.sequence == track) + if(cdrwinTrack.Sequence == track) { - _track = cdrwin_track; + _track = cdrwinTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch(_track.tracktype) + switch(_track.Tracktype) { - case CDRWinTrackTypeMode1: - case CDRWinTrackTypeMode2Form1: + case CDRWIN_TRACK_TYPE_MODE1: + case CDRWIN_TRACK_TYPE_MODE2_FORM1: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } - case CDRWinTrackTypeMode2Form2: + case CDRWIN_TRACK_TYPE_MODE2_FORM2: { - sector_offset = 0; - sector_size = 2324; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2324; + sectorSkip = 0; break; } - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeCDI: + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_CDI: { - sector_offset = 0; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2336; + sectorSkip = 0; break; } - case CDRWinTrackTypeAudio: + case CDRWIN_TRACK_TYPE_AUDIO: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case CDRWinTrackTypeMode1Raw: + case CDRWIN_TRACK_TYPE_MODE1_RAW: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; break; } - case CDRWinTrackTypeMode2Raw: + case CDRWIN_TRACK_TYPE_MODE2_RAW: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } - case CDRWinTrackTypeCDIRaw: + case CDRWIN_TRACK_TYPE_CDI_RAW: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } - case CDRWinTrackTypeCDG: + case CDRWIN_TRACK_TYPE_CDG: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 96; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 96; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _track.trackfile.datafilter.GetDataForkStream(); + imageStream = _track.Trackfile.Datafilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.trackfile.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Trackfile.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1545,91 +1545,91 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsTag(ulong sectorAddress, uint length, uint track, SectorTagType tag) { - CDRWinTrack _track = new CDRWinTrack(); + CdrWinTrack _track = new CdrWinTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(CDRWinTrack cdrwin_track in discimage.tracks) + foreach(CdrWinTrack cdrwinTrack in discimage.Tracks) { - if(cdrwin_track.sequence == track) + if(cdrwinTrack.Sequence == track) { - _track = cdrwin_track; + _track = cdrwinTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: { byte[] flags = new byte[1]; - if(_track.tracktype != CDRWinTrackTypeAudio && _track.tracktype != CDRWinTrackTypeCDG) + if(_track.Tracktype != CDRWIN_TRACK_TYPE_AUDIO && _track.Tracktype != CDRWIN_TRACK_TYPE_CDG) flags[0] += 0x40; - if(_track.flag_dcp) flags[0] += 0x20; + if(_track.FlagDcp) flags[0] += 0x20; - if(_track.flag_pre) flags[0] += 0x10; + if(_track.FlagPre) flags[0] += 0x10; - if(_track.flag_4ch) flags[0] += 0x80; + if(_track.Flag4ch) flags[0] += 0x80; return flags; } - case SectorTagType.CDTrackISRC: return Encoding.UTF8.GetBytes(_track.isrc); - case SectorTagType.CDTrackText: + case SectorTagType.CdTrackIsrc: return Encoding.UTF8.GetBytes(_track.Isrc); + case SectorTagType.CdTrackText: throw new FeatureSupportedButNotImplementedImageException("Feature not yet implemented"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - switch(_track.tracktype) + switch(_track.Tracktype) { - case CDRWinTrackTypeMode1: - case CDRWinTrackTypeMode2Form1: - case CDRWinTrackTypeMode2Form2: + case CDRWIN_TRACK_TYPE_MODE1: + case CDRWIN_TRACK_TYPE_MODE2_FORM1: + case CDRWIN_TRACK_TYPE_MODE2_FORM2: throw new ArgumentException("No tags in image for requested track", nameof(tag)); - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeCDI: + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_CDI: { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 0; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 0; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2332; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2332; + sectorSize = 4; + sectorSkip = 0; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -1637,55 +1637,55 @@ namespace DiscImageChef.ImagePlugins break; } - case CDRWinTrackTypeAudio: + case CDRWIN_TRACK_TYPE_AUDIO: throw new ArgumentException("There are no tags on audio tracks", nameof(tag)); - case CDRWinTrackTypeMode1Raw: + case CDRWIN_TRACK_TYPE_MODE1_RAW: { switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -1693,39 +1693,39 @@ namespace DiscImageChef.ImagePlugins break; } - case CDRWinTrackTypeMode2Raw: // Requires reading sector - case CDRWinTrackTypeCDIRaw: + case CDRWIN_TRACK_TYPE_MODE2_RAW: // Requires reading sector + case CDRWIN_TRACK_TYPE_CDI_RAW: throw new FeatureSupportedButNotImplementedImageException("Feature not yet implemented"); - case CDRWinTrackTypeCDG: + case CDRWIN_TRACK_TYPE_CDG: { - if(tag != SectorTagType.CDSectorSubchannel) + if(tag != SectorTagType.CdSectorSubchannel) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - sector_offset = 2352; - sector_size = 96; - sector_skip = 0; + sectorOffset = 2352; + sectorSize = 96; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _track.trackfile.datafilter.GetDataForkStream(); + imageStream = _track.Trackfile.Datafilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.trackfile.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Trackfile.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1748,11 +1748,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(CDRWinTrack cdrwin_track in discimage.tracks) + foreach(CdrWinTrack cdrwinTrack in discimage.Tracks) { - if(cdrwin_track.sequence == kvp.Key) + if(cdrwinTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < cdrwin_track.sectors) + if((sectorAddress - kvp.Value) < cdrwinTrack.Sectors) return ReadSectorsLong((sectorAddress - kvp.Value), length, kvp.Key); } } @@ -1764,95 +1764,95 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length, uint track) { - CDRWinTrack _track = new CDRWinTrack(); + CdrWinTrack _track = new CdrWinTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(CDRWinTrack cdrwin_track in discimage.tracks) + foreach(CdrWinTrack cdrwinTrack in discimage.Tracks) { - if(cdrwin_track.sequence == track) + if(cdrwinTrack.Sequence == track) { - _track = cdrwin_track; + _track = cdrwinTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch(_track.tracktype) + switch(_track.Tracktype) { - case CDRWinTrackTypeMode1: - case CDRWinTrackTypeMode2Form1: + case CDRWIN_TRACK_TYPE_MODE1: + case CDRWIN_TRACK_TYPE_MODE2_FORM1: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } - case CDRWinTrackTypeMode2Form2: + case CDRWIN_TRACK_TYPE_MODE2_FORM2: { - sector_offset = 0; - sector_size = 2324; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2324; + sectorSkip = 0; break; } - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeCDI: + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_CDI: { - sector_offset = 0; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2336; + sectorSkip = 0; break; } - case CDRWinTrackTypeMode1Raw: - case CDRWinTrackTypeMode2Raw: - case CDRWinTrackTypeCDIRaw: - case CDRWinTrackTypeAudio: + case CDRWIN_TRACK_TYPE_MODE1_RAW: + case CDRWIN_TRACK_TYPE_MODE2_RAW: + case CDRWIN_TRACK_TYPE_CDI_RAW: + case CDRWIN_TRACK_TYPE_AUDIO: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case CDRWinTrackTypeCDG: + case CDRWIN_TRACK_TYPE_CDG: { - sector_offset = 0; - sector_size = 2448; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2448; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _track.trackfile.datafilter.GetDataForkStream(); + imageStream = _track.Trackfile.Datafilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.trackfile.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Trackfile.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1866,47 +1866,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List<Partition> GetPartitions() @@ -1920,31 +1920,31 @@ namespace DiscImageChef.ImagePlugins ulong previousStartSector = 0; - foreach(CDRWinTrack cdr_track in discimage.tracks) + foreach(CdrWinTrack cdrTrack in discimage.Tracks) { Track _track = new Track(); - _track.Indexes = cdr_track.indexes; - _track.TrackDescription = cdr_track.title; - if(!cdr_track.indexes.TryGetValue(0, out _track.TrackStartSector)) - cdr_track.indexes.TryGetValue(1, out _track.TrackStartSector); + _track.Indexes = cdrTrack.Indexes; + _track.TrackDescription = cdrTrack.Title; + if(!cdrTrack.Indexes.TryGetValue(0, out _track.TrackStartSector)) + cdrTrack.Indexes.TryGetValue(1, out _track.TrackStartSector); _track.TrackStartSector = previousStartSector; - _track.TrackEndSector = _track.TrackStartSector + cdr_track.sectors - 1; - _track.TrackPregap = cdr_track.pregap; - _track.TrackSession = cdr_track.session; - _track.TrackSequence = cdr_track.sequence; - _track.TrackType = CDRWinTrackTypeToTrackType(cdr_track.tracktype); - _track.TrackFile = cdr_track.trackfile.datafilter.GetFilename(); - _track.TrackFilter = cdr_track.trackfile.datafilter; - _track.TrackFileOffset = cdr_track.trackfile.offset; - _track.TrackFileType = cdr_track.trackfile.filetype; - _track.TrackRawBytesPerSector = cdr_track.bps; - _track.TrackBytesPerSector = CDRWinTrackTypeToCookedBytesPerSector(cdr_track.tracktype); - if(cdr_track.bps == 2448) + _track.TrackEndSector = _track.TrackStartSector + cdrTrack.Sectors - 1; + _track.TrackPregap = cdrTrack.Pregap; + _track.TrackSession = cdrTrack.Session; + _track.TrackSequence = cdrTrack.Sequence; + _track.TrackType = CdrWinTrackTypeToTrackType(cdrTrack.Tracktype); + _track.TrackFile = cdrTrack.Trackfile.Datafilter.GetFilename(); + _track.TrackFilter = cdrTrack.Trackfile.Datafilter; + _track.TrackFileOffset = cdrTrack.Trackfile.Offset; + _track.TrackFileType = cdrTrack.Trackfile.Filetype; + _track.TrackRawBytesPerSector = cdrTrack.Bps; + _track.TrackBytesPerSector = CdrWinTrackTypeToCookedBytesPerSector(cdrTrack.Tracktype); + if(cdrTrack.Bps == 2448) { - _track.TrackSubchannelFilter = cdr_track.trackfile.datafilter; - _track.TrackSubchannelFile = cdr_track.trackfile.datafilter.GetFilename(); - _track.TrackSubchannelOffset = cdr_track.trackfile.offset; + _track.TrackSubchannelFilter = cdrTrack.Trackfile.Datafilter; + _track.TrackSubchannelFile = cdrTrack.Trackfile.Datafilter.GetFilename(); + _track.TrackSubchannelOffset = cdrTrack.Trackfile.Offset; _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; } else _track.TrackSubchannelType = TrackSubchannelType.None; @@ -1958,7 +1958,7 @@ namespace DiscImageChef.ImagePlugins public override List<Track> GetSessionTracks(Session session) { - if(discimage.sessions.Contains(session)) { return GetSessionTracks(session.SessionSequence); } + if(discimage.Sessions.Contains(session)) { return GetSessionTracks(session.SessionSequence); } throw new ImageNotSupportedException("Session does not exist in disc image"); } @@ -1967,32 +1967,32 @@ namespace DiscImageChef.ImagePlugins { List<Track> tracks = new List<Track>(); - foreach(CDRWinTrack cdr_track in discimage.tracks) + foreach(CdrWinTrack cdrTrack in discimage.Tracks) { - if(cdr_track.session == session) + if(cdrTrack.Session == session) { Track _track = new Track(); - _track.Indexes = cdr_track.indexes; - _track.TrackDescription = cdr_track.title; - if(!cdr_track.indexes.TryGetValue(0, out _track.TrackStartSector)) - cdr_track.indexes.TryGetValue(1, out _track.TrackStartSector); - _track.TrackEndSector = _track.TrackStartSector + cdr_track.sectors - 1; - _track.TrackPregap = cdr_track.pregap; - _track.TrackSession = cdr_track.session; - _track.TrackSequence = cdr_track.sequence; - _track.TrackType = CDRWinTrackTypeToTrackType(cdr_track.tracktype); - _track.TrackFile = cdr_track.trackfile.datafilter.GetFilename(); - _track.TrackFilter = cdr_track.trackfile.datafilter; - _track.TrackFileOffset = cdr_track.trackfile.offset; - _track.TrackFileType = cdr_track.trackfile.filetype; - _track.TrackRawBytesPerSector = cdr_track.bps; - _track.TrackBytesPerSector = CDRWinTrackTypeToCookedBytesPerSector(cdr_track.tracktype); - if(cdr_track.bps == 2448) + _track.Indexes = cdrTrack.Indexes; + _track.TrackDescription = cdrTrack.Title; + if(!cdrTrack.Indexes.TryGetValue(0, out _track.TrackStartSector)) + cdrTrack.Indexes.TryGetValue(1, out _track.TrackStartSector); + _track.TrackEndSector = _track.TrackStartSector + cdrTrack.Sectors - 1; + _track.TrackPregap = cdrTrack.Pregap; + _track.TrackSession = cdrTrack.Session; + _track.TrackSequence = cdrTrack.Sequence; + _track.TrackType = CdrWinTrackTypeToTrackType(cdrTrack.Tracktype); + _track.TrackFile = cdrTrack.Trackfile.Datafilter.GetFilename(); + _track.TrackFilter = cdrTrack.Trackfile.Datafilter; + _track.TrackFileOffset = cdrTrack.Trackfile.Offset; + _track.TrackFileType = cdrTrack.Trackfile.Filetype; + _track.TrackRawBytesPerSector = cdrTrack.Bps; + _track.TrackBytesPerSector = CdrWinTrackTypeToCookedBytesPerSector(cdrTrack.Tracktype); + if(cdrTrack.Bps == 2448) { - _track.TrackSubchannelFilter = cdr_track.trackfile.datafilter; - _track.TrackSubchannelFile = cdr_track.trackfile.datafilter.GetFilename(); - _track.TrackSubchannelOffset = cdr_track.trackfile.offset; + _track.TrackSubchannelFilter = cdrTrack.Trackfile.Datafilter; + _track.TrackSubchannelFile = cdrTrack.Trackfile.Datafilter.GetFilename(); + _track.TrackSubchannelOffset = cdrTrack.Trackfile.Offset; _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; } else _track.TrackSubchannelType = TrackSubchannelType.None; @@ -2006,79 +2006,79 @@ namespace DiscImageChef.ImagePlugins public override List<Session> GetSessions() { - return discimage.sessions; + return discimage.Sessions; } public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -2090,111 +2090,111 @@ namespace DiscImageChef.ImagePlugins #endregion #region Private methods - static ulong CDRWinMSFToLBA(string MSF) + static ulong CdrWinMsftoLba(string msf) { - string[] MSFElements; + string[] msfElements; ulong minute, second, frame, sectors; - MSFElements = MSF.Split(':'); - minute = ulong.Parse(MSFElements[0]); - second = ulong.Parse(MSFElements[1]); - frame = ulong.Parse(MSFElements[2]); + msfElements = msf.Split(':'); + minute = ulong.Parse(msfElements[0]); + second = ulong.Parse(msfElements[1]); + frame = ulong.Parse(msfElements[2]); sectors = (minute * 60 * 75) + (second * 75) + frame; return sectors; } - static ushort CDRWinTrackTypeToBytesPerSector(string trackType) + static ushort CdrWinTrackTypeToBytesPerSector(string trackType) { switch(trackType) { - case CDRWinTrackTypeMode1: - case CDRWinTrackTypeMode2Form1: return 2048; - case CDRWinTrackTypeMode2Form2: return 2324; - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeCDI: return 2336; - case CDRWinTrackTypeAudio: - case CDRWinTrackTypeMode1Raw: - case CDRWinTrackTypeMode2Raw: - case CDRWinTrackTypeCDIRaw: return 2352; - case CDRWinTrackTypeCDG: return 2448; + case CDRWIN_TRACK_TYPE_MODE1: + case CDRWIN_TRACK_TYPE_MODE2_FORM1: return 2048; + case CDRWIN_TRACK_TYPE_MODE2_FORM2: return 2324; + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_CDI: return 2336; + case CDRWIN_TRACK_TYPE_AUDIO: + case CDRWIN_TRACK_TYPE_MODE1_RAW: + case CDRWIN_TRACK_TYPE_MODE2_RAW: + case CDRWIN_TRACK_TYPE_CDI_RAW: return 2352; + case CDRWIN_TRACK_TYPE_CDG: return 2448; default: return 0; } } - static ushort CDRWinTrackTypeToCookedBytesPerSector(string trackType) + static ushort CdrWinTrackTypeToCookedBytesPerSector(string trackType) { switch(trackType) { - case CDRWinTrackTypeMode1: - case CDRWinTrackTypeMode2Form1: - case CDRWinTrackTypeMode1Raw: return 2048; - case CDRWinTrackTypeMode2Form2: return 2324; - case CDRWinTrackTypeMode2Formless: - case CDRWinTrackTypeCDI: - case CDRWinTrackTypeMode2Raw: - case CDRWinTrackTypeCDIRaw: return 2336; - case CDRWinTrackTypeAudio: return 2352; - case CDRWinTrackTypeCDG: return 2448; + case CDRWIN_TRACK_TYPE_MODE1: + case CDRWIN_TRACK_TYPE_MODE2_FORM1: + case CDRWIN_TRACK_TYPE_MODE1_RAW: return 2048; + case CDRWIN_TRACK_TYPE_MODE2_FORM2: return 2324; + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: + case CDRWIN_TRACK_TYPE_CDI: + case CDRWIN_TRACK_TYPE_MODE2_RAW: + case CDRWIN_TRACK_TYPE_CDI_RAW: return 2336; + case CDRWIN_TRACK_TYPE_AUDIO: return 2352; + case CDRWIN_TRACK_TYPE_CDG: return 2448; default: return 0; } } - static TrackType CDRWinTrackTypeToTrackType(string trackType) + static TrackType CdrWinTrackTypeToTrackType(string trackType) { switch(trackType) { - case CDRWinTrackTypeMode1: - case CDRWinTrackTypeMode1Raw: return TrackType.CDMode1; - case CDRWinTrackTypeMode2Form1: return TrackType.CDMode2Form1; - case CDRWinTrackTypeMode2Form2: return TrackType.CDMode2Form2; - case CDRWinTrackTypeCDIRaw: - case CDRWinTrackTypeCDI: - case CDRWinTrackTypeMode2Raw: - case CDRWinTrackTypeMode2Formless: return TrackType.CDMode2Formless; - case CDRWinTrackTypeAudio: - case CDRWinTrackTypeCDG: return TrackType.Audio; + case CDRWIN_TRACK_TYPE_MODE1: + case CDRWIN_TRACK_TYPE_MODE1_RAW: return TrackType.CdMode1; + case CDRWIN_TRACK_TYPE_MODE2_FORM1: return TrackType.CdMode2Form1; + case CDRWIN_TRACK_TYPE_MODE2_FORM2: return TrackType.CdMode2Form2; + case CDRWIN_TRACK_TYPE_CDI_RAW: + case CDRWIN_TRACK_TYPE_CDI: + case CDRWIN_TRACK_TYPE_MODE2_RAW: + case CDRWIN_TRACK_TYPE_MODE2_FORMLESS: return TrackType.CdMode2Formless; + case CDRWIN_TRACK_TYPE_AUDIO: + case CDRWIN_TRACK_TYPE_CDG: return TrackType.Audio; default: return TrackType.Data; } } - static MediaType CDRWinIsoBusterDiscTypeToMediaType(string discType) + static MediaType CdrWinIsoBusterDiscTypeToMediaType(string discType) { switch(discType) { - case CDRWinDiskTypeCD: return MediaType.CD; - case CDRWinDiskTypeCDRW: - case CDRWinDiskTypeCDMRW: - case CDRWinDiskTypeCDMRW2: return MediaType.CDRW; - case CDRWinDiskTypeDVD: return MediaType.DVDROM; - case CDRWinDiskTypeDVDPRW: - case CDRWinDiskTypeDVDPMRW: - case CDRWinDiskTypeDVDPMRW2: return MediaType.DVDPRW; - case CDRWinDiskTypeDVDPRWDL: - case CDRWinDiskTypeDVDPMRWDL: - case CDRWinDiskTypeDVDPMRWDL2: return MediaType.DVDPRWDL; - case CDRWinDiskTypeDVDPR: - case CDRWinDiskTypeDVDPVR: return MediaType.DVDPR; - case CDRWinDiskTypeDVDPRDL: return MediaType.DVDPRDL; - case CDRWinDiskTypeDVDRAM: return MediaType.DVDRAM; - case CDRWinDiskTypeDVDVR: - case CDRWinDiskTypeDVDR: return MediaType.DVDR; - case CDRWinDiskTypeDVDRDL: return MediaType.DVDRDL; - case CDRWinDiskTypeDVDRW: - case CDRWinDiskTypeDVDRWDL: - case CDRWinDiskTypeDVDRW2: return MediaType.DVDRW; - case CDRWinDiskTypeHDDVD: return MediaType.HDDVDROM; - case CDRWinDiskTypeHDDVDRAM: return MediaType.HDDVDRAM; - case CDRWinDiskTypeHDDVDR: - case CDRWinDiskTypeHDDVDRDL: return MediaType.HDDVDR; - case CDRWinDiskTypeHDDVDRW: - case CDRWinDiskTypeHDDVDRWDL: return MediaType.HDDVDRW; - case CDRWinDiskTypeBD: return MediaType.BDROM; - case CDRWinDiskTypeBDR: - case CDRWinDiskTypeBDRDL: return MediaType.BDR; - case CDRWinDiskTypeBDRE: - case CDRWinDiskTypeBDREDL: return MediaType.BDRE; + case CDRWIN_DISK_TYPE_CD: return MediaType.CD; + case CDRWIN_DISK_TYPE_CDRW: + case CDRWIN_DISK_TYPE_CDMRW: + case CDRWIN_DISK_TYPE_CDMRW2: return MediaType.CDRW; + case CDRWIN_DISK_TYPE_DVD: return MediaType.DVDROM; + case CDRWIN_DISK_TYPE_DVDPRW: + case CDRWIN_DISK_TYPE_DVDPMRW: + case CDRWIN_DISK_TYPE_DVDPMRW2: return MediaType.DVDPRW; + case CDRWIN_DISK_TYPE_DVDPRWDL: + case CDRWIN_DISK_TYPE_DVDPMRWDL: + case CDRWIN_DISK_TYPE_DVDPMRWDL2: return MediaType.DVDPRWDL; + case CDRWIN_DISK_TYPE_DVDPR: + case CDRWIN_DISK_TYPE_DVDPVR: return MediaType.DVDPR; + case CDRWIN_DISK_TYPE_DVDPRDL: return MediaType.DVDPRDL; + case CDRWIN_DISK_TYPE_DVDRAM: return MediaType.DVDRAM; + case CDRWIN_DISK_TYPE_DVDVR: + case CDRWIN_DISK_TYPE_DVDR: return MediaType.DVDR; + case CDRWIN_DISK_TYPE_DVDRDL: return MediaType.DVDRDL; + case CDRWIN_DISK_TYPE_DVDRW: + case CDRWIN_DISK_TYPE_DVDRWDL: + case CDRWIN_DISK_TYPE_DVDRW2: return MediaType.DVDRW; + case CDRWIN_DISK_TYPE_HDDVD: return MediaType.HDDVDROM; + case CDRWIN_DISK_TYPE_HDDVDRAM: return MediaType.HDDVDRAM; + case CDRWIN_DISK_TYPE_HDDVDR: + case CDRWIN_DISK_TYPE_HDDVDRDL: return MediaType.HDDVDR; + case CDRWIN_DISK_TYPE_HDDVDRW: + case CDRWIN_DISK_TYPE_HDDVDRWDL: return MediaType.HDDVDRW; + case CDRWIN_DISK_TYPE_BD: return MediaType.BDROM; + case CDRWIN_DISK_TYPE_BDR: + case CDRWIN_DISK_TYPE_BDRDL: return MediaType.BDR; + case CDRWIN_DISK_TYPE_BDRE: + case CDRWIN_DISK_TYPE_BDREDL: return MediaType.BDRE; default: return MediaType.Unknown; } } @@ -2203,52 +2203,52 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } #endregion } diff --git a/DiscImageChef.DiscImages/CHD.cs b/DiscImageChef.DiscImages/CHD.cs index 8d1f08743..6b7f157bd 100644 --- a/DiscImageChef.DiscImages/CHD.cs +++ b/DiscImageChef.DiscImages/CHD.cs @@ -43,27 +43,27 @@ using DiscImageChef.Filters; using SharpCompress.Compressors; using SharpCompress.Compressors.Deflate; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // TODO: Implement PCMCIA support - public class CHD : ImagePlugin + public class Chd : ImagePlugin { #region Internal Structures - enum CHDCompression : uint + enum ChdCompression : uint { None = 0, Zlib = 1, ZlibPlus = 2, - AV = 3 + Av = 3 } - enum CHDFlags : uint + enum ChdFlags : uint { HasParent = 1, Writable = 2 } - enum CHDV3EntryFlags : byte + enum Chdv3EntryFlags : byte { /// <summary>Invalid</summary> Invalid = 0, @@ -81,10 +81,10 @@ namespace DiscImageChef.ImagePlugins SecondCompressed = 6 } - enum CHDOldTrackType : uint + enum ChdOldTrackType : uint { Mode1 = 0, - Mode1_Raw, + Mode1Raw, Mode2, Mode2Form1, Mode2Form2, @@ -93,7 +93,7 @@ namespace DiscImageChef.ImagePlugins Audio } - enum CHDOldSubType : uint + enum ChdOldSubType : uint { Cooked = 0, Raw, @@ -103,7 +103,7 @@ namespace DiscImageChef.ImagePlugins // Hunks are represented in a 64 bit integer with 44 bit as offset, 20 bits as length // Sectors are fixed at 512 bytes/sector [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDHeaderV1 + struct ChdHeaderV1 { /// <summary> /// Magic identifier, 'MComprHD' @@ -118,11 +118,11 @@ namespace DiscImageChef.ImagePlugins /// </summary> public uint version; /// <summary> - /// Image flags, <see cref="CHDFlags"/> + /// Image flags, <see cref="ChdFlags"/> /// </summary> public uint flags; /// <summary> - /// Compression algorithm, <see cref="CHDCompression"/> + /// Compression algorithm, <see cref="ChdCompression"/> /// </summary> public uint compression; /// <summary> @@ -157,7 +157,7 @@ namespace DiscImageChef.ImagePlugins // Hunks are represented in a 64 bit integer with 44 bit as offset, 20 bits as length [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDHeaderV2 + struct ChdHeaderV2 { /// <summary> /// Magic identifier, 'MComprHD' @@ -172,11 +172,11 @@ namespace DiscImageChef.ImagePlugins /// </summary> public uint version; /// <summary> - /// Image flags, <see cref="CHDFlags"/> + /// Image flags, <see cref="ChdFlags"/> /// </summary> public uint flags; /// <summary> - /// Compression algorithm, <see cref="CHDCompression"/> + /// Compression algorithm, <see cref="ChdCompression"/> /// </summary> public uint compression; /// <summary> @@ -214,7 +214,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDHeaderV3 + struct ChdHeaderV3 { /// <summary> /// Magic identifier, 'MComprHD' @@ -229,11 +229,11 @@ namespace DiscImageChef.ImagePlugins /// </summary> public uint version; /// <summary> - /// Image flags, <see cref="CHDFlags"/> + /// Image flags, <see cref="ChdFlags"/> /// </summary> public uint flags; /// <summary> - /// Compression algorithm, <see cref="CHDCompression"/> + /// Compression algorithm, <see cref="ChdCompression"/> /// </summary> public uint compression; /// <summary> @@ -271,7 +271,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDMapV3Entry + struct ChdMapV3Entry { /// <summary> /// Offset to hunk from start of image @@ -296,7 +296,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDTrackOld + struct ChdTrackOld { public uint type; public uint subType; @@ -307,7 +307,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDHeaderV4 + struct ChdHeaderV4 { /// <summary> /// Magic identifier, 'MComprHD' @@ -322,11 +322,11 @@ namespace DiscImageChef.ImagePlugins /// </summary> public uint version; /// <summary> - /// Image flags, <see cref="CHDFlags"/> + /// Image flags, <see cref="ChdFlags"/> /// </summary> public uint flags; /// <summary> - /// Compression algorithm, <see cref="CHDCompression"/> + /// Compression algorithm, <see cref="ChdCompression"/> /// </summary> public uint compression; /// <summary> @@ -360,7 +360,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDHeaderV5 + struct ChdHeaderV5 { /// <summary> /// Magic identifier, 'MComprHD' @@ -425,7 +425,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDCompressedMapHeaderV5 + struct ChdCompressedMapHeaderV5 { /// <summary> /// Length of compressed map @@ -451,7 +451,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDMapV5Entry + struct ChdMapV5Entry { /// <summary> /// Compression (8 bits) and length (24 bits) @@ -464,7 +464,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CHDMetadataHeader + struct ChdMetadataHeader { public uint tag; public uint flagsAndLength; @@ -488,57 +488,57 @@ namespace DiscImageChef.ImagePlugins /// <summary>"MComprHD"</summary> readonly byte[] chdTag = {0x4D, 0x43, 0x6F, 0x6D, 0x70, 0x72, 0x48, 0x44}; /// <summary>"GDDD"</summary> - const uint hardDiskMetadata = 0x47444444; + const uint HARD_DISK_METADATA = 0x47444444; /// <summary>"IDNT"</summary> - const uint hardDiskIdentMetadata = 0x49444E54; + const uint HARD_DISK_IDENT_METADATA = 0x49444E54; /// <summary>"KEY "</summary> - const uint hardDiskKeyMetadata = 0x4B455920; + const uint HARD_DISK_KEY_METADATA = 0x4B455920; /// <summary>"CIS "</summary> - const uint pcmciaCisMetadata = 0x43495320; + const uint PCMCIA_CIS_METADATA = 0x43495320; /// <summary>"CHCD"</summary> - const uint cdromOldMetadata = 0x43484344; + const uint CDROM_OLD_METADATA = 0x43484344; /// <summary>"CHTR"</summary> - const uint cdromTrackMetadata = 0x43485452; + const uint CDROM_TRACK_METADATA = 0x43485452; /// <summary>"CHT2"</summary> - const uint cdromTrackMetadata2 = 0x43485432; + const uint CDROM_TRACK_METADATA2 = 0x43485432; /// <summary>"CHGT"</summary> - const uint gdromOldMetadata = 0x43484754; + const uint GDROM_OLD_METADATA = 0x43484754; /// <summary>"CHGD"</summary> - const uint gdromMetadata = 0x43484744; + const uint GDROM_METADATA = 0x43484744; /// <summary>"AVAV"</summary> - const uint avMetadata = 0x41564156; + const uint AV_METADATA = 0x41564156; /// <summary>"AVLD"</summary> - const uint avLaserDiscMetadata = 0x41564C44; + const uint AV_LASER_DISC_METADATA = 0x41564C44; - const string hardDiskMetadataRegEx = + const string HARD_DISK_METADATA_REGEX = "CYLS:(?<cylinders>\\d+),HEADS:(?<heads>\\d+),SECS:(?<sectors>\\d+),BPS:(?<bps>\\d+)"; - const string CdromMetadataRegEx = + const string CDROM_METADATA_REGEX = "TRACK:(?<track>\\d+) TYPE:(?<track_type>\\S+) SUBTYPE:(?<sub_type>\\S+) FRAMES:(?<frames>\\d+)"; - const string CdromMetadata2RegEx = + const string CDROM_METADATA2_REGEX = "TRACK:(?<track>\\d+) TYPE:(?<track_type>\\S+) SUBTYPE:(?<sub_type>\\S+) FRAMES:(?<frames>\\d+) PREGAP:(?<pregap>\\d+) PGTYPE:(?<pgtype>\\S+) PGSUB:(?<pgsub>\\S+) POSTGAP:(?<postgap>\\d+)" ; - const string GdromMetadataRegEx = + const string GDROM_METADATA_REGEX = "TRACK:(?<track>\\d+) TYPE:(?<track_type>\\S+) SUBTYPE:(?<sub_type>\\S+) FRAMES:(?<frames>\\d+) PAD:(?<pad>\\d+) PREGAP:(?<pregap>\\d+) PGTYPE:(?<pgtype>\\S+) PGSUB:(?<pgsub>\\S+) POSTGAP:(?<postgap>\\d+)" ; - const string TrackTypeMode1 = "MODE1"; - const string TrackTypeMode1_2k = "MODE1/2048"; - const string TrackTypeMode1Raw = "MODE1_RAW"; - const string TrackTypeMode1Raw_2k = "MODE1/2352"; - const string TrackTypeMode2 = "MODE2"; - const string TrackTypeMode2_2k = "MODE2/2336"; - const string TrackTypeMode2F1 = "MODE2_FORM1"; - const string TrackTypeMode2F1_2k = "MODE2/2048"; - const string TrackTypeMode2F2 = "MODE2_FORM2"; - const string TrackTypeMode2F2_2k = "MODE2/2324"; - const string TrackTypeMode2FM = "MODE2_FORM_MIX"; - const string TrackTypeMode2Raw = "MODE2_RAW"; - const string TrackTypeMode2Raw_2k = "MODE2/2352"; - const string TrackTypeAudio = "AUDIO"; + const string TRACK_TYPE_MODE1 = "MODE1"; + const string TRACK_TYPE_MODE1_2K = "MODE1/2048"; + const string TRACK_TYPE_MODE1_RAW = "MODE1_RAW"; + const string TRACK_TYPE_MODE1_RAW_2K = "MODE1/2352"; + const string TRACK_TYPE_MODE2 = "MODE2"; + const string TRACK_TYPE_MODE2_2K = "MODE2/2336"; + const string TRACK_TYPE_MODE2_F1 = "MODE2_FORM1"; + const string TRACK_TYPE_MODE2_F1_2K = "MODE2/2048"; + const string TRACK_TYPE_MODE2_F2 = "MODE2_FORM2"; + const string TRACK_TYPE_MODE2_F2_2K = "MODE2/2324"; + const string TRACK_TYPE_MODE2_FM = "MODE2_FORM_MIX"; + const string TRACK_TYPE_MODE2_RAW = "MODE2_RAW"; + const string TRACK_TYPE_MODE2_RAW_2K = "MODE2/2352"; + const string TRACK_TYPE_AUDIO = "AUDIO"; - const string SubTypeCooked = "RW"; - const string SubTypeRaw = "RW_RAW"; - const string SubTypeNone = "NONE"; + const string SUB_TYPE_COOKED = "RW"; + const string SUB_TYPE_RAW = "RW_RAW"; + const string SUB_TYPE_NONE = "NONE"; #endregion #region Internal variables @@ -560,7 +560,7 @@ namespace DiscImageChef.ImagePlugins bool isGdrom; bool swapAudio; - const int MaxCacheSize = 16777216; + const int MAX_CACHE_SIZE = 16777216; int maxBlockCache; int maxSectorCache; @@ -575,29 +575,29 @@ namespace DiscImageChef.ImagePlugins byte[] cis; #endregion - public CHD() + public Chd() { Name = "MAME Compressed Hunks of Data"; - PluginUUID = new Guid("0D50233A-08BD-47D4-988B-27EAA0358597"); + PluginUuid = new Guid("0D50233A-08BD-47D4-988B-27EAA0358597"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "MAME"; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "MAME"; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -636,14 +636,14 @@ namespace DiscImageChef.ImagePlugins { case 1: { - CHDHeaderV1 hdrV1 = BigEndianMarshal.ByteArrayToStructureBigEndian<CHDHeaderV1>(buffer); + ChdHeaderV1 hdrV1 = BigEndianMarshal.ByteArrayToStructureBigEndian<ChdHeaderV1>(buffer); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV1.tag)); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.length = {0} bytes", hdrV1.length); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.version = {0}", hdrV1.version); - DicConsole.DebugWriteLine("CHD plugin", "hdrV1.flags = {0}", (CHDFlags)hdrV1.flags); + DicConsole.DebugWriteLine("CHD plugin", "hdrV1.flags = {0}", (ChdFlags)hdrV1.flags); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.compression = {0}", - (CHDCompression)hdrV1.compression); + (ChdCompression)hdrV1.compression); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.hunksize = {0}", hdrV1.hunksize); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.totalhunks = {0}", hdrV1.totalhunks); DicConsole.DebugWriteLine("CHD plugin", "hdrV1.cylinders = {0}", hdrV1.cylinders); @@ -686,12 +686,12 @@ namespace DiscImageChef.ImagePlugins DateTime end = DateTime.UtcNow; System.Console.WriteLine("Took {0} seconds", (end - start).TotalSeconds); - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.sectors = hdrV1.hunksize * hdrV1.totalhunks; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = 512; - ImageInfo.imageVersion = "1"; - ImageInfo.imageSize = ImageInfo.sectorSize * hdrV1.hunksize * hdrV1.totalhunks; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Sectors = hdrV1.hunksize * hdrV1.totalhunks; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = 512; + ImageInfo.ImageVersion = "1"; + ImageInfo.ImageSize = ImageInfo.SectorSize * hdrV1.hunksize * hdrV1.totalhunks; totalHunks = hdrV1.totalhunks; sectorsPerHunk = hdrV1.hunksize; @@ -699,22 +699,22 @@ namespace DiscImageChef.ImagePlugins mapVersion = 1; isHdd = true; - ImageInfo.cylinders = hdrV1.cylinders; - ImageInfo.heads = hdrV1.heads; - ImageInfo.sectorsPerTrack = hdrV1.sectors; + ImageInfo.Cylinders = hdrV1.cylinders; + ImageInfo.Heads = hdrV1.heads; + ImageInfo.SectorsPerTrack = hdrV1.sectors; break; } case 2: { - CHDHeaderV2 hdrV2 = BigEndianMarshal.ByteArrayToStructureBigEndian<CHDHeaderV2>(buffer); + ChdHeaderV2 hdrV2 = BigEndianMarshal.ByteArrayToStructureBigEndian<ChdHeaderV2>(buffer); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV2.tag)); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.length = {0} bytes", hdrV2.length); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.version = {0}", hdrV2.version); - DicConsole.DebugWriteLine("CHD plugin", "hdrV2.flags = {0}", (CHDFlags)hdrV2.flags); + DicConsole.DebugWriteLine("CHD plugin", "hdrV2.flags = {0}", (ChdFlags)hdrV2.flags); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.compression = {0}", - (CHDCompression)hdrV2.compression); + (ChdCompression)hdrV2.compression); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.hunksize = {0}", hdrV2.hunksize); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.totalhunks = {0}", hdrV2.totalhunks); DicConsole.DebugWriteLine("CHD plugin", "hdrV2.cylinders = {0}", hdrV2.cylinders); @@ -759,12 +759,12 @@ namespace DiscImageChef.ImagePlugins DateTime end = DateTime.UtcNow; System.Console.WriteLine("Took {0} seconds", (end - start).TotalSeconds); - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.sectors = hdrV2.hunksize * hdrV2.totalhunks; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = hdrV2.seclen; - ImageInfo.imageVersion = "2"; - ImageInfo.imageSize = ImageInfo.sectorSize * hdrV2.hunksize * hdrV2.totalhunks; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Sectors = hdrV2.hunksize * hdrV2.totalhunks; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = hdrV2.seclen; + ImageInfo.ImageVersion = "2"; + ImageInfo.ImageSize = ImageInfo.SectorSize * hdrV2.hunksize * hdrV2.totalhunks; totalHunks = hdrV2.totalhunks; sectorsPerHunk = hdrV2.hunksize; @@ -772,22 +772,22 @@ namespace DiscImageChef.ImagePlugins mapVersion = 1; isHdd = true; - ImageInfo.cylinders = hdrV2.cylinders; - ImageInfo.heads = hdrV2.heads; - ImageInfo.sectorsPerTrack = hdrV2.sectors; + ImageInfo.Cylinders = hdrV2.cylinders; + ImageInfo.Heads = hdrV2.heads; + ImageInfo.SectorsPerTrack = hdrV2.sectors; break; } case 3: { - CHDHeaderV3 hdrV3 = BigEndianMarshal.ByteArrayToStructureBigEndian<CHDHeaderV3>(buffer); + ChdHeaderV3 hdrV3 = BigEndianMarshal.ByteArrayToStructureBigEndian<ChdHeaderV3>(buffer); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV3.tag)); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.length = {0} bytes", hdrV3.length); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.version = {0}", hdrV3.version); - DicConsole.DebugWriteLine("CHD plugin", "hdrV3.flags = {0}", (CHDFlags)hdrV3.flags); + DicConsole.DebugWriteLine("CHD plugin", "hdrV3.flags = {0}", (ChdFlags)hdrV3.flags); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.compression = {0}", - (CHDCompression)hdrV3.compression); + (ChdCompression)hdrV3.compression); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.totalhunks = {0}", hdrV3.totalhunks); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.logicalbytes = {0}", hdrV3.logicalbytes); DicConsole.DebugWriteLine("CHD plugin", "hdrV3.metaoffset = {0}", hdrV3.metaoffset); @@ -815,8 +815,8 @@ namespace DiscImageChef.ImagePlugins nextMetaOff = hdrV3.metaoffset; - ImageInfo.imageSize = hdrV3.logicalbytes; - ImageInfo.imageVersion = "3"; + ImageInfo.ImageSize = hdrV3.logicalbytes; + ImageInfo.ImageVersion = "3"; totalHunks = hdrV3.totalhunks; bytesPerHunk = hdrV3.hunkbytes; @@ -827,14 +827,14 @@ namespace DiscImageChef.ImagePlugins } case 4: { - CHDHeaderV4 hdrV4 = BigEndianMarshal.ByteArrayToStructureBigEndian<CHDHeaderV4>(buffer); + ChdHeaderV4 hdrV4 = BigEndianMarshal.ByteArrayToStructureBigEndian<ChdHeaderV4>(buffer); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV4.tag)); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.length = {0} bytes", hdrV4.length); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.version = {0}", hdrV4.version); - DicConsole.DebugWriteLine("CHD plugin", "hdrV4.flags = {0}", (CHDFlags)hdrV4.flags); + DicConsole.DebugWriteLine("CHD plugin", "hdrV4.flags = {0}", (ChdFlags)hdrV4.flags); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.compression = {0}", - (CHDCompression)hdrV4.compression); + (ChdCompression)hdrV4.compression); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.totalhunks = {0}", hdrV4.totalhunks); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.logicalbytes = {0}", hdrV4.logicalbytes); DicConsole.DebugWriteLine("CHD plugin", "hdrV4.metaoffset = {0}", hdrV4.metaoffset); @@ -859,8 +859,8 @@ namespace DiscImageChef.ImagePlugins nextMetaOff = hdrV4.metaoffset; - ImageInfo.imageSize = hdrV4.logicalbytes; - ImageInfo.imageVersion = "4"; + ImageInfo.ImageSize = hdrV4.logicalbytes; + ImageInfo.ImageVersion = "4"; totalHunks = hdrV4.totalhunks; bytesPerHunk = hdrV4.hunkbytes; @@ -871,7 +871,7 @@ namespace DiscImageChef.ImagePlugins } case 5: { - CHDHeaderV5 hdrV5 = BigEndianMarshal.ByteArrayToStructureBigEndian<CHDHeaderV5>(buffer); + ChdHeaderV5 hdrV5 = BigEndianMarshal.ByteArrayToStructureBigEndian<ChdHeaderV5>(buffer); DicConsole.DebugWriteLine("CHD plugin", "hdrV5.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV5.tag)); DicConsole.DebugWriteLine("CHD plugin", "hdrV5.length = {0} bytes", hdrV5.length); @@ -943,8 +943,8 @@ namespace DiscImageChef.ImagePlugins nextMetaOff = hdrV5.metaoffset; - ImageInfo.imageSize = hdrV5.logicalbytes; - ImageInfo.imageVersion = "5"; + ImageInfo.ImageSize = hdrV5.logicalbytes; + ImageInfo.ImageVersion = "5"; totalHunks = (uint)(hdrV5.logicalbytes / hdrV5.hunkbytes); bytesPerHunk = hdrV5.hunkbytes; @@ -978,8 +978,8 @@ namespace DiscImageChef.ImagePlugins byte[] hdrBytes = new byte[16]; stream.Seek((long)nextMetaOff, SeekOrigin.Begin); stream.Read(hdrBytes, 0, hdrBytes.Length); - CHDMetadataHeader header = - BigEndianMarshal.ByteArrayToStructureBigEndian<CHDMetadataHeader>(hdrBytes); + ChdMetadataHeader header = + BigEndianMarshal.ByteArrayToStructureBigEndian<ChdMetadataHeader>(hdrBytes); meta = new byte[header.flagsAndLength & 0xFFFFFF]; stream.Read(meta, 0, meta.Length); DicConsole.DebugWriteLine("CHD plugin", "Found metadata \"{0}\"", @@ -988,25 +988,25 @@ namespace DiscImageChef.ImagePlugins switch(header.tag) { // "GDDD" - case hardDiskMetadata: + case HARD_DISK_METADATA: if(isCdrom || isGdrom) throw new ImageNotSupportedException("Image cannot be a hard disk and a C/GD-ROM at the same time, aborting."); string gddd = StringHandlers.CToString(meta); - Regex gdddRegEx = new Regex(hardDiskMetadataRegEx); + Regex gdddRegEx = new Regex(HARD_DISK_METADATA_REGEX); Match gdddMatch = gdddRegEx.Match(gddd); if(gdddMatch.Success) { isHdd = true; - ImageInfo.sectorSize = uint.Parse(gdddMatch.Groups["bps"].Value); - ImageInfo.cylinders = uint.Parse(gdddMatch.Groups["cylinders"].Value); - ImageInfo.heads = uint.Parse(gdddMatch.Groups["heads"].Value); - ImageInfo.sectorsPerTrack = uint.Parse(gdddMatch.Groups["sectors"].Value); + ImageInfo.SectorSize = uint.Parse(gdddMatch.Groups["bps"].Value); + ImageInfo.Cylinders = uint.Parse(gdddMatch.Groups["cylinders"].Value); + ImageInfo.Heads = uint.Parse(gdddMatch.Groups["heads"].Value); + ImageInfo.SectorsPerTrack = uint.Parse(gdddMatch.Groups["sectors"].Value); } break; // "CHCD" - case cdromOldMetadata: + case CDROM_OLD_METADATA: if(isHdd) throw new ImageNotSupportedException("Image cannot be a hard disk and a CD-ROM at the same time, aborting."); @@ -1028,7 +1028,7 @@ namespace DiscImageChef.ImagePlugins for(uint i = 0; i < _tracks; i++) { - CHDTrackOld _trk = new CHDTrackOld(); + ChdTrackOld _trk = new ChdTrackOld(); _trk.type = BigEndianBitConverter.ToUInt32(meta, (int)(4 + i * 24 + 0)); _trk.subType = BigEndianBitConverter.ToUInt32(meta, (int)(4 + i * 24 + 4)); _trk.dataSize = BigEndianBitConverter.ToUInt32(meta, (int)(4 + i * 24 + 8)); @@ -1037,60 +1037,60 @@ namespace DiscImageChef.ImagePlugins _trk.extraFrames = BigEndianBitConverter.ToUInt32(meta, (int)(4 + i * 24 + 20)); Track _track = new Track(); - switch((CHDOldTrackType)_trk.type) + switch((ChdOldTrackType)_trk.type) { - case CHDOldTrackType.Audio: + case ChdOldTrackType.Audio: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2352; _track.TrackType = TrackType.Audio; break; - case CHDOldTrackType.Mode1: + case ChdOldTrackType.Mode1: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case CHDOldTrackType.Mode1_Raw: + case ChdOldTrackType.Mode1Raw: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case CHDOldTrackType.Mode2: - case CHDOldTrackType.Mode2FormMix: + case ChdOldTrackType.Mode2: + case ChdOldTrackType.Mode2FormMix: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2336; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; - case CHDOldTrackType.Mode2Form1: + case ChdOldTrackType.Mode2Form1: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode2Form1; + _track.TrackType = TrackType.CdMode2Form1; break; - case CHDOldTrackType.Mode2Form2: + case ChdOldTrackType.Mode2Form2: _track.TrackBytesPerSector = 2324; _track.TrackRawBytesPerSector = 2324; - _track.TrackType = TrackType.CDMode2Form2; + _track.TrackType = TrackType.CdMode2Form2; break; - case CHDOldTrackType.Mode2Raw: + case ChdOldTrackType.Mode2Raw: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; default: throw new ImageNotSupportedException(string.Format("Unsupported track type {0}", _trk.type)); } - switch((CHDOldSubType)_trk.subType) + switch((ChdOldSubType)_trk.subType) { - case CHDOldSubType.Cooked: + case ChdOldSubType.Cooked: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.PackedInterleaved; _track.TrackSubchannelFilter = imageFilter; break; - case CHDOldSubType.None: + case ChdOldSubType.None: _track.TrackSubchannelType = TrackSubchannelType.None; break; - case CHDOldSubType.Raw: + case ChdOldSubType.Raw: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; _track.TrackSubchannelFilter = imageFilter; @@ -1119,7 +1119,7 @@ namespace DiscImageChef.ImagePlugins break; // "CHTR" - case cdromTrackMetadata: + case CDROM_TRACK_METADATA: if(isHdd) throw new ImageNotSupportedException("Image cannot be a hard disk and a CD-ROM at the same time, aborting."); @@ -1129,7 +1129,7 @@ namespace DiscImageChef.ImagePlugins ImageNotSupportedException("Image cannot be a GD-ROM and a CD-ROM at the same time, aborting."); string chtr = StringHandlers.CToString(meta); - Regex chtrRegEx = new Regex(CdromMetadataRegEx); + Regex chtrRegEx = new Regex(CDROM_METADATA_REGEX); Match chtrMatch = chtrRegEx.Match(chtr); if(chtrMatch.Success) { @@ -1146,47 +1146,47 @@ namespace DiscImageChef.ImagePlugins Track _track = new Track(); switch(tracktype) { - case TrackTypeAudio: + case TRACK_TYPE_AUDIO: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2352; _track.TrackType = TrackType.Audio; break; - case TrackTypeMode1: - case TrackTypeMode1_2k: + case TRACK_TYPE_MODE1: + case TRACK_TYPE_MODE1_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case TrackTypeMode1Raw: - case TrackTypeMode1Raw_2k: + case TRACK_TYPE_MODE1_RAW: + case TRACK_TYPE_MODE1_RAW_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case TrackTypeMode2: - case TrackTypeMode2_2k: - case TrackTypeMode2FM: + case TRACK_TYPE_MODE2: + case TRACK_TYPE_MODE2_2K: + case TRACK_TYPE_MODE2_FM: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2336; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; - case TrackTypeMode2F1: - case TrackTypeMode2F1_2k: + case TRACK_TYPE_MODE2_F1: + case TRACK_TYPE_MODE2_F1_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode2Form1; + _track.TrackType = TrackType.CdMode2Form1; break; - case TrackTypeMode2F2: - case TrackTypeMode2F2_2k: + case TRACK_TYPE_MODE2_F2: + case TRACK_TYPE_MODE2_F2_2K: _track.TrackBytesPerSector = 2324; _track.TrackRawBytesPerSector = 2324; - _track.TrackType = TrackType.CDMode2Form2; + _track.TrackType = TrackType.CdMode2Form2; break; - case TrackTypeMode2Raw: - case TrackTypeMode2Raw_2k: + case TRACK_TYPE_MODE2_RAW: + case TRACK_TYPE_MODE2_RAW_2K: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; default: throw new ImageNotSupportedException(string.Format("Unsupported track type {0}", @@ -1195,15 +1195,15 @@ namespace DiscImageChef.ImagePlugins switch(subtype) { - case SubTypeCooked: + case SUB_TYPE_COOKED: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.PackedInterleaved; _track.TrackSubchannelFilter = imageFilter; break; - case SubTypeNone: + case SUB_TYPE_NONE: _track.TrackSubchannelType = TrackSubchannelType.None; break; - case SubTypeRaw: + case SUB_TYPE_RAW: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; _track.TrackSubchannelFilter = imageFilter; @@ -1230,7 +1230,7 @@ namespace DiscImageChef.ImagePlugins break; // "CHT2" - case cdromTrackMetadata2: + case CDROM_TRACK_METADATA2: if(isHdd) throw new ImageNotSupportedException("Image cannot be a hard disk and a CD-ROM at the same time, aborting."); @@ -1240,7 +1240,7 @@ namespace DiscImageChef.ImagePlugins ImageNotSupportedException("Image cannot be a GD-ROM and a CD-ROM at the same time, aborting."); string cht2 = StringHandlers.CToString(meta); - Regex cht2RegEx = new Regex(CdromMetadata2RegEx); + Regex cht2RegEx = new Regex(CDROM_METADATA2_REGEX); Match cht2Match = cht2RegEx.Match(cht2); if(cht2Match.Success) { @@ -1262,47 +1262,47 @@ namespace DiscImageChef.ImagePlugins Track _track = new Track(); switch(tracktype) { - case TrackTypeAudio: + case TRACK_TYPE_AUDIO: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2352; _track.TrackType = TrackType.Audio; break; - case TrackTypeMode1: - case TrackTypeMode1_2k: + case TRACK_TYPE_MODE1: + case TRACK_TYPE_MODE1_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case TrackTypeMode1Raw: - case TrackTypeMode1Raw_2k: + case TRACK_TYPE_MODE1_RAW: + case TRACK_TYPE_MODE1_RAW_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case TrackTypeMode2: - case TrackTypeMode2_2k: - case TrackTypeMode2FM: + case TRACK_TYPE_MODE2: + case TRACK_TYPE_MODE2_2K: + case TRACK_TYPE_MODE2_FM: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2336; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; - case TrackTypeMode2F1: - case TrackTypeMode2F1_2k: + case TRACK_TYPE_MODE2_F1: + case TRACK_TYPE_MODE2_F1_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode2Form1; + _track.TrackType = TrackType.CdMode2Form1; break; - case TrackTypeMode2F2: - case TrackTypeMode2F2_2k: + case TRACK_TYPE_MODE2_F2: + case TRACK_TYPE_MODE2_F2_2K: _track.TrackBytesPerSector = 2324; _track.TrackRawBytesPerSector = 2324; - _track.TrackType = TrackType.CDMode2Form2; + _track.TrackType = TrackType.CdMode2Form2; break; - case TrackTypeMode2Raw: - case TrackTypeMode2Raw_2k: + case TRACK_TYPE_MODE2_RAW: + case TRACK_TYPE_MODE2_RAW_2K: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; default: throw new ImageNotSupportedException(string.Format("Unsupported track type {0}", @@ -1311,15 +1311,15 @@ namespace DiscImageChef.ImagePlugins switch(subtype) { - case SubTypeCooked: + case SUB_TYPE_COOKED: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.PackedInterleaved; _track.TrackSubchannelFilter = imageFilter; break; - case SubTypeNone: + case SUB_TYPE_NONE: _track.TrackSubchannelType = TrackSubchannelType.None; break; - case SubTypeRaw: + case SUB_TYPE_RAW: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; _track.TrackSubchannelFilter = imageFilter; @@ -1346,11 +1346,11 @@ namespace DiscImageChef.ImagePlugins break; // "CHGT" - case gdromOldMetadata: + case GDROM_OLD_METADATA: swapAudio = true; - goto case gdromMetadata; + goto case GDROM_METADATA; // "CHGD" - case gdromMetadata: + case GDROM_METADATA: if(isHdd) throw new ImageNotSupportedException("Image cannot be a hard disk and a GD-ROM at the same time, aborting."); @@ -1360,7 +1360,7 @@ namespace DiscImageChef.ImagePlugins ImageNotSupportedException("Image cannot be a CD-ROM and a GD-ROM at the same time, aborting."); string chgd = StringHandlers.CToString(meta); - Regex chgdRegEx = new Regex(GdromMetadataRegEx); + Regex chgdRegEx = new Regex(GDROM_METADATA_REGEX); Match chgdMatch = chgdRegEx.Match(chgd); if(chgdMatch.Success) { @@ -1383,47 +1383,47 @@ namespace DiscImageChef.ImagePlugins Track _track = new Track(); switch(tracktype) { - case TrackTypeAudio: + case TRACK_TYPE_AUDIO: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2352; _track.TrackType = TrackType.Audio; break; - case TrackTypeMode1: - case TrackTypeMode1_2k: + case TRACK_TYPE_MODE1: + case TRACK_TYPE_MODE1_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case TrackTypeMode1Raw: - case TrackTypeMode1Raw_2k: + case TRACK_TYPE_MODE1_RAW: + case TRACK_TYPE_MODE1_RAW_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode1; + _track.TrackType = TrackType.CdMode1; break; - case TrackTypeMode2: - case TrackTypeMode2_2k: - case TrackTypeMode2FM: + case TRACK_TYPE_MODE2: + case TRACK_TYPE_MODE2_2K: + case TRACK_TYPE_MODE2_FM: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2336; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; - case TrackTypeMode2F1: - case TrackTypeMode2F1_2k: + case TRACK_TYPE_MODE2_F1: + case TRACK_TYPE_MODE2_F1_2K: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; - _track.TrackType = TrackType.CDMode2Form1; + _track.TrackType = TrackType.CdMode2Form1; break; - case TrackTypeMode2F2: - case TrackTypeMode2F2_2k: + case TRACK_TYPE_MODE2_F2: + case TRACK_TYPE_MODE2_F2_2K: _track.TrackBytesPerSector = 2324; _track.TrackRawBytesPerSector = 2324; - _track.TrackType = TrackType.CDMode2Form2; + _track.TrackType = TrackType.CdMode2Form2; break; - case TrackTypeMode2Raw: - case TrackTypeMode2Raw_2k: + case TRACK_TYPE_MODE2_RAW: + case TRACK_TYPE_MODE2_RAW_2K: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2352; - _track.TrackType = TrackType.CDMode2Formless; + _track.TrackType = TrackType.CdMode2Formless; break; default: throw new ImageNotSupportedException(string.Format("Unsupported track type {0}", @@ -1432,15 +1432,15 @@ namespace DiscImageChef.ImagePlugins switch(subtype) { - case SubTypeCooked: + case SUB_TYPE_COOKED: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.PackedInterleaved; _track.TrackSubchannelFilter = imageFilter; break; - case SubTypeNone: + case SUB_TYPE_NONE: _track.TrackSubchannelType = TrackSubchannelType.None; break; - case SubTypeRaw: + case SUB_TYPE_RAW: _track.TrackSubchannelFile = imageFilter.GetFilename(); _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; _track.TrackSubchannelFilter = imageFilter; @@ -1467,37 +1467,37 @@ namespace DiscImageChef.ImagePlugins break; // "IDNT" - case hardDiskIdentMetadata: + case HARD_DISK_IDENT_METADATA: Decoders.ATA.Identify.IdentifyDevice? idnt = Decoders.ATA.Identify.Decode(meta); if(idnt.HasValue) { - ImageInfo.mediaManufacturer = idnt.Value.MediaManufacturer; - ImageInfo.mediaSerialNumber = idnt.Value.MediaSerial; - ImageInfo.driveModel = idnt.Value.Model; - ImageInfo.driveSerialNumber = idnt.Value.SerialNumber; - ImageInfo.driveFirmwareRevision = idnt.Value.FirmwareRevision; + ImageInfo.MediaManufacturer = idnt.Value.MediaManufacturer; + ImageInfo.MediaSerialNumber = idnt.Value.MediaSerial; + ImageInfo.DriveModel = idnt.Value.Model; + ImageInfo.DriveSerialNumber = idnt.Value.SerialNumber; + ImageInfo.DriveFirmwareRevision = idnt.Value.FirmwareRevision; if(idnt.Value.CurrentCylinders > 0 && idnt.Value.CurrentHeads > 0 && idnt.Value.CurrentSectorsPerTrack > 0) { - ImageInfo.cylinders = idnt.Value.CurrentCylinders; - ImageInfo.heads = idnt.Value.CurrentHeads; - ImageInfo.sectorsPerTrack = idnt.Value.CurrentSectorsPerTrack; + ImageInfo.Cylinders = idnt.Value.CurrentCylinders; + ImageInfo.Heads = idnt.Value.CurrentHeads; + ImageInfo.SectorsPerTrack = idnt.Value.CurrentSectorsPerTrack; } else { - ImageInfo.cylinders = idnt.Value.Cylinders; - ImageInfo.heads = idnt.Value.Heads; - ImageInfo.sectorsPerTrack = idnt.Value.SectorsPerTrack; + ImageInfo.Cylinders = idnt.Value.Cylinders; + ImageInfo.Heads = idnt.Value.Heads; + ImageInfo.SectorsPerTrack = idnt.Value.SectorsPerTrack; } } identify = meta; - if(!ImageInfo.readableMediaTags.Contains(MediaTagType.ATA_IDENTIFY)) - ImageInfo.readableMediaTags.Add(MediaTagType.ATA_IDENTIFY); + if(!ImageInfo.ReadableMediaTags.Contains(MediaTagType.ATA_IDENTIFY)) + ImageInfo.ReadableMediaTags.Add(MediaTagType.ATA_IDENTIFY); break; - case pcmciaCisMetadata: + case PCMCIA_CIS_METADATA: cis = meta; - if(!ImageInfo.readableMediaTags.Contains(MediaTagType.PCMCIA_CIS)) - ImageInfo.readableMediaTags.Add(MediaTagType.PCMCIA_CIS); + if(!ImageInfo.ReadableMediaTags.Contains(MediaTagType.PCMCIA_CIS)) + ImageInfo.ReadableMediaTags.Add(MediaTagType.PCMCIA_CIS); break; } @@ -1506,30 +1506,30 @@ namespace DiscImageChef.ImagePlugins if(isHdd) { - sectorsPerHunk = bytesPerHunk / ImageInfo.sectorSize; - ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + sectorsPerHunk = bytesPerHunk / ImageInfo.SectorSize; + ImageInfo.Sectors = ImageInfo.ImageSize / ImageInfo.SectorSize; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; } else if(isCdrom) { // Hardcoded on MAME for CD-ROM sectorsPerHunk = 8; - ImageInfo.mediaType = MediaType.CDROM; - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.MediaType = MediaType.CDROM; + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; foreach(Track _trk in tracks.Values) - ImageInfo.sectors += (_trk.TrackEndSector - _trk.TrackStartSector + 1); + ImageInfo.Sectors += (_trk.TrackEndSector - _trk.TrackStartSector + 1); } else if(isGdrom) { // Hardcoded on MAME for GD-ROM sectorsPerHunk = 8; - ImageInfo.mediaType = MediaType.GDROM; - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.MediaType = MediaType.GDROM; + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; foreach(Track _trk in tracks.Values) - ImageInfo.sectors += (_trk.TrackEndSector - _trk.TrackStartSector + 1); + ImageInfo.Sectors += (_trk.TrackEndSector - _trk.TrackStartSector + 1); } else throw new ImageNotSupportedException("Image does not represent a known media, aborting"); } @@ -1555,68 +1555,68 @@ namespace DiscImageChef.ImagePlugins if(_track.TrackSubchannelType != TrackSubchannelType.None) { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); } switch(_track.TrackType) { - case TrackType.CDMode1: - case TrackType.CDMode2Form1: + case TrackType.CdMode1: + case TrackType.CdMode2Form1: if(_track.TrackRawBytesPerSector == 2352) { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); } break; - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: if(_track.TrackRawBytesPerSector == 2352) { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); } break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: if(_track.TrackRawBytesPerSector == 2352) { - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); } break; } - if(_track.TrackBytesPerSector > ImageInfo.sectorSize) - ImageInfo.sectorSize = (uint)_track.TrackBytesPerSector; + if(_track.TrackBytesPerSector > ImageInfo.SectorSize) + ImageInfo.SectorSize = (uint)_track.TrackBytesPerSector; partitions.Add(partition); } - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; } - maxBlockCache = (int)(MaxCacheSize / (ImageInfo.sectorSize * sectorsPerHunk)); - maxSectorCache = (int)(MaxCacheSize / ImageInfo.sectorSize); + maxBlockCache = (int)(MAX_CACHE_SIZE / (ImageInfo.SectorSize * sectorsPerHunk)); + maxSectorCache = (int)(MAX_CACHE_SIZE / ImageInfo.SectorSize); imageStream = stream; @@ -1625,7 +1625,7 @@ namespace DiscImageChef.ImagePlugins // TODO: Detect CompactFlash // TODO: Get manufacturer and drive name from CIS if applicable - if(cis != null) ImageInfo.mediaType = MediaType.PCCardTypeI; + if(cis != null) ImageInfo.MediaType = MediaType.PCCardTypeI; return true; } @@ -1664,21 +1664,21 @@ namespace DiscImageChef.ImagePlugins imageStream.Seek((long)offset, SeekOrigin.Begin); imageStream.Read(compHunk, 0, compHunk.Length); - if(length == (sectorsPerHunk * ImageInfo.sectorSize)) { hunk = compHunk; } - else if((CHDCompression)hdrCompression > CHDCompression.Zlib) + if(length == (sectorsPerHunk * ImageInfo.SectorSize)) { hunk = compHunk; } + else if((ChdCompression)hdrCompression > ChdCompression.Zlib) throw new ImageNotSupportedException(string.Format("Unsupported compression {0}", - (CHDCompression)hdrCompression)); + (ChdCompression)hdrCompression)); else { DeflateStream zStream = new DeflateStream(new MemoryStream(compHunk), CompressionMode.Decompress); - hunk = new byte[sectorsPerHunk * ImageInfo.sectorSize]; - int read = zStream.Read(hunk, 0, (int)(sectorsPerHunk * ImageInfo.sectorSize)); - if(read != sectorsPerHunk * ImageInfo.sectorSize) + hunk = new byte[sectorsPerHunk * ImageInfo.SectorSize]; + int read = zStream.Read(hunk, 0, (int)(sectorsPerHunk * ImageInfo.SectorSize)); + if(read != sectorsPerHunk * ImageInfo.SectorSize) throw new IOException(string .Format("Unable to decompress hunk correctly, got {0} bytes, expected {1}", - read, sectorsPerHunk * ImageInfo.sectorSize)); + read, sectorsPerHunk * ImageInfo.SectorSize)); zStream.Close(); zStream = null; @@ -1688,16 +1688,16 @@ namespace DiscImageChef.ImagePlugins case 3: byte[] entryBytes = new byte[16]; Array.Copy(hunkMap, (int)(hunkNo * 16), entryBytes, 0, 16); - CHDMapV3Entry entry = BigEndianMarshal.ByteArrayToStructureBigEndian<CHDMapV3Entry>(entryBytes); - switch((CHDV3EntryFlags)(entry.flags & 0x0F)) + ChdMapV3Entry entry = BigEndianMarshal.ByteArrayToStructureBigEndian<ChdMapV3Entry>(entryBytes); + switch((Chdv3EntryFlags)(entry.flags & 0x0F)) { - case CHDV3EntryFlags.Invalid: throw new ArgumentException("Invalid hunk found."); - case CHDV3EntryFlags.Compressed: - switch((CHDCompression)hdrCompression) + case Chdv3EntryFlags.Invalid: throw new ArgumentException("Invalid hunk found."); + case Chdv3EntryFlags.Compressed: + switch((ChdCompression)hdrCompression) { - case CHDCompression.None: goto uncompressedV3; - case CHDCompression.Zlib: - case CHDCompression.ZlibPlus: + case ChdCompression.None: goto uncompressedV3; + case ChdCompression.Zlib: + case ChdCompression.ZlibPlus: if(isHdd) { byte[] zHunk = new byte[(entry.lengthLsb << 16) + entry.lengthLsb]; @@ -1722,30 +1722,30 @@ namespace DiscImageChef.ImagePlugins ImageNotSupportedException("Compressed CD/GD-ROM hunks are not yet supported"); break; - case CHDCompression.AV: + case ChdCompression.Av: throw new ImageNotSupportedException(string.Format("Unsupported compression {0}", - (CHDCompression)hdrCompression)); + (ChdCompression)hdrCompression)); } break; - case CHDV3EntryFlags.Uncompressed: + case Chdv3EntryFlags.Uncompressed: uncompressedV3: hunk = new byte[bytesPerHunk]; imageStream.Seek((long)entry.offset, SeekOrigin.Begin); imageStream.Read(hunk, 0, hunk.Length); break; - case CHDV3EntryFlags.Mini: + case Chdv3EntryFlags.Mini: hunk = new byte[bytesPerHunk]; byte[] mini = new byte[8]; mini = BigEndianBitConverter.GetBytes(entry.offset); for(int i = 0; i < bytesPerHunk; i++) hunk[i] = mini[i % 8]; break; - case CHDV3EntryFlags.SelfHunk: return GetHunk(entry.offset); - case CHDV3EntryFlags.ParentHunk: + case Chdv3EntryFlags.SelfHunk: return GetHunk(entry.offset); + case Chdv3EntryFlags.ParentHunk: throw new ImageNotSupportedException("Parent images are not supported"); - case CHDV3EntryFlags.SecondCompressed: + case Chdv3EntryFlags.SecondCompressed: throw new ImageNotSupportedException("FLAC is not supported"); default: throw new ImageNotSupportedException(string.Format("Hunk type {0} is not supported", @@ -1781,7 +1781,7 @@ namespace DiscImageChef.ImagePlugins if(isHdd) return null; byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) @@ -1792,11 +1792,11 @@ namespace DiscImageChef.ImagePlugins return VerifySector(GetAbsoluteSector(sectorAddress, track)); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - UnknownLBAs = new List<ulong>(); - FailingLBAs = new List<ulong>(); + unknownLbas = new List<ulong>(); + failingLbas = new List<ulong>(); if(isHdd) return null; byte[] buffer = ReadSectorsLong(sectorAddress, length); @@ -1806,30 +1806,30 @@ namespace DiscImageChef.ImagePlugins for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - UnknownLBAs = new List<ulong>(); - FailingLBAs = new List<ulong>(); + unknownLbas = new List<ulong>(); + failingLbas = new List<ulong>(); if(isHdd) return null; byte[] buffer = ReadSectorsLong(sectorAddress, length, track); @@ -1839,21 +1839,21 @@ namespace DiscImageChef.ImagePlugins for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -1863,7 +1863,7 @@ namespace DiscImageChef.ImagePlugins byte[] calculated; if(mapVersion >= 3) { - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); for(uint i = 0; i < totalHunks; i++) sha1Ctx.Update(GetHunk(i)); @@ -1871,7 +1871,7 @@ namespace DiscImageChef.ImagePlugins } else { - Checksums.MD5Context md5Ctx = new Checksums.MD5Context(); + Checksums.Md5Context md5Ctx = new Checksums.Md5Context(); md5Ctx.Init(); for(uint i = 0; i < totalHunks; i++) md5Ctx.Update(GetHunk(i)); @@ -1883,27 +1883,27 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -1914,7 +1914,7 @@ namespace DiscImageChef.ImagePlugins { uint sectorSize; - if(isHdd) sectorSize = ImageInfo.sectorSize; + if(isHdd) sectorSize = ImageInfo.SectorSize; else { track = GetTrack(sectorAddress); @@ -1926,7 +1926,7 @@ namespace DiscImageChef.ImagePlugins byte[] hunk = GetHunk(hunkNo); - sector = new byte[ImageInfo.sectorSize]; + sector = new byte[ImageInfo.SectorSize]; Array.Copy(hunk, (int)secOff, sector, 0, sector.Length); if(sectorCache.Count >= maxSectorCache) sectorCache.Clear(); @@ -1941,8 +1941,8 @@ namespace DiscImageChef.ImagePlugins switch(track.TrackType) { - case TrackType.CDMode1: - case TrackType.CDMode2Form1: + case TrackType.CdMode1: + case TrackType.CdMode2Form1: { if(track.TrackRawBytesPerSector == 2352) { @@ -1956,7 +1956,7 @@ namespace DiscImageChef.ImagePlugins } break; } - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: { if(track.TrackRawBytesPerSector == 2352) { @@ -1970,7 +1970,7 @@ namespace DiscImageChef.ImagePlugins } break; } - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { if(track.TrackRawBytesPerSector == 2352) { @@ -2012,7 +2012,7 @@ namespace DiscImageChef.ImagePlugins { if(isHdd) throw new FeatureNotPresentImageException("Hard disk images do not have sector tags"); - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -2031,7 +2031,7 @@ namespace DiscImageChef.ImagePlugins byte[] hunk = GetHunk(hunkNo); - sector = new byte[ImageInfo.sectorSize]; + sector = new byte[ImageInfo.SectorSize]; Array.Copy(hunk, (int)secOff, sector, 0, sector.Length); if(sectorCache.Count >= maxSectorCache) sectorCache.Clear(); @@ -2044,7 +2044,7 @@ namespace DiscImageChef.ImagePlugins uint sector_offset; uint sector_size; - if(tag == SectorTagType.CDSectorSubchannel) + if(tag == SectorTagType.CdSectorSubchannel) { if(track.TrackSubchannelType == TrackSubchannelType.None) throw new FeatureNotPresentImageException("Requested sector does not contain subchannel"); @@ -2062,47 +2062,47 @@ namespace DiscImageChef.ImagePlugins { switch(track.TrackType) { - case TrackType.CDMode1: - case TrackType.CDMode2Form1: + case TrackType.CdMode1: + case TrackType.CdMode2Form1: { if(track.TrackRawBytesPerSector == 2352) { switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { sector_offset = 0; sector_size = 12; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { sector_offset = 12; sector_size = 4; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { sector_offset = 2076; sector_size = 276; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { sector_offset = 2076; sector_size = 172; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { sector_offset = 2248; sector_size = 104; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2064; sector_size = 4; @@ -2115,31 +2115,31 @@ namespace DiscImageChef.ImagePlugins break; } - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: { if(track.TrackRawBytesPerSector == 2352) { switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { sector_offset = 0; sector_size = 12; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { sector_offset = 12; sector_size = 4; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { sector_offset = 16; sector_size = 8; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2348; sector_size = 4; @@ -2152,21 +2152,21 @@ namespace DiscImageChef.ImagePlugins { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { sector_offset = 0; sector_size = 8; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2332; sector_size = 4; @@ -2178,26 +2178,26 @@ namespace DiscImageChef.ImagePlugins break; } - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { if(track.TrackRawBytesPerSector == 2352) { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { sector_offset = 0; sector_size = 8; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { sector_offset = 2332; sector_size = 4; @@ -2243,14 +2243,14 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), string.Format("Requested more sectors ({0}) than available ({1})", - sectorAddress + length, ImageInfo.sectors)); + sectorAddress + length, ImageInfo.Sectors)); MemoryStream ms = new MemoryStream(); @@ -2265,14 +2265,14 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsTag(ulong sectorAddress, uint length, SectorTagType tag) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), string.Format("Requested more sectors ({0}) than available ({1})", - sectorAddress + length, ImageInfo.sectors)); + sectorAddress + length, ImageInfo.Sectors)); MemoryStream ms = new MemoryStream(); @@ -2289,7 +2289,7 @@ namespace DiscImageChef.ImagePlugins { if(isHdd) return ReadSector(sectorAddress); - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -2308,7 +2308,7 @@ namespace DiscImageChef.ImagePlugins byte[] hunk = GetHunk(hunkNo); - sector = new byte[ImageInfo.sectorSize]; + sector = new byte[ImageInfo.SectorSize]; Array.Copy(hunk, (int)secOff, sector, 0, sector.Length); if(sectorCache.Count >= maxSectorCache) sectorCache.Clear(); @@ -2333,14 +2333,14 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), string.Format("Requested more sectors ({0}) than available ({1})", - sectorAddress + length, ImageInfo.sectors)); + sectorAddress + length, ImageInfo.Sectors)); MemoryStream ms = new MemoryStream(); @@ -2360,107 +2360,107 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features public override byte[] ReadDiskTag(MediaTagType tag) { - if(ImageInfo.readableMediaTags.Contains(MediaTagType.ATA_IDENTIFY)) return identify; + if(ImageInfo.ReadableMediaTags.Contains(MediaTagType.ATA_IDENTIFY)) return identify; - if(ImageInfo.readableMediaTags.Contains(MediaTagType.PCMCIA_CIS)) return cis; + if(ImageInfo.ReadableMediaTags.Contains(MediaTagType.PCMCIA_CIS)) return cis; throw new FeatureUnsupportedImageException("Feature not supported by image format"); } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -2476,10 +2476,10 @@ namespace DiscImageChef.ImagePlugins if(isHdd) throw new FeaturedNotSupportedByDiscImageException("Cannot access optical tracks on a hard disk image"); - List<Track> _trks = new List<Track>(); - foreach(Track track in tracks.Values) _trks.Add(track); + List<Track> trks = new List<Track>(); + foreach(Track track in tracks.Values) trks.Add(track); - return _trks; + return trks; } public override List<Track> GetSessionTracks(Session session) @@ -2495,10 +2495,10 @@ namespace DiscImageChef.ImagePlugins if(isHdd) throw new FeaturedNotSupportedByDiscImageException("Cannot access optical tracks on a hard disk image"); - List<Track> _trks = new List<Track>(); - foreach(Track track in tracks.Values) { if(track.TrackSession == session) _trks.Add(track); } + List<Track> trks = new List<Track>(); + foreach(Track track in tracks.Values) { if(track.TrackSession == session) trks.Add(track); } - return _trks; + return trks; } public override List<Session> GetSessions() diff --git a/DiscImageChef.DiscImages/CPCDSK.cs b/DiscImageChef.DiscImages/CPCDSK.cs index c401b167c..063ef5f06 100644 --- a/DiscImageChef.DiscImages/CPCDSK.cs +++ b/DiscImageChef.DiscImages/CPCDSK.cs @@ -41,15 +41,15 @@ using DiscImageChef.Console; using DiscImageChef.Decoders.Floppy; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class CPCDSK : ImagePlugin + public class Cpcdsk : ImagePlugin { #region Internal constants /// <summary> /// Identifier for CPCEMU disk images, "MV - CPCEMU Disk-File" /// </summary> - readonly byte[] CPCDSKId = + readonly byte[] cpcdskId = { 0x4D, 0x56, 0x20, 0x2D, 0x20, 0x43, 0x50, 0x43, 0x45, 0x4D, 0x55, 0x20, 0x44, 0x69, 0x73, 0x6B, 0x2D, 0x46, 0x69, 0x6C, 0x65 @@ -57,7 +57,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Identifier for DU54 disk images, "MV - CPC format Disk Image (DU54)" /// </summary> - readonly byte[] DU54Id = + readonly byte[] du54Id = { 0x4D, 0x56, 0x20, 0x2D, 0x20, 0x43, 0x50, 0x43, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x20, 0x44, 0x69, 0x73, 0x6B, 0x20 @@ -65,7 +65,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Identifier for Extended CPCEMU disk images, "EXTENDED CPC DSK File" /// </summary> - readonly byte[] EDSKId = + readonly byte[] edskId = { 0x45, 0x58, 0x54, 0x45, 0x4E, 0x44, 0x45, 0x44, 0x20, 0x43, 0x50, 0x43, 0x20, 0x44, 0x53, 0x4B, 0x20, 0x46, 0x69, 0x6C, 0x65 @@ -73,12 +73,12 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Identifier for track information, "Track-Info\r\n" /// </summary> - readonly byte[] TrackId = {0x54, 0x72, 0x61, 0x63, 0x6B, 0x2D, 0x49, 0x6E, 0x66, 0x6F}; + readonly byte[] trackId = {0x54, 0x72, 0x61, 0x63, 0x6B, 0x2D, 0x49, 0x6E, 0x66, 0x6F}; #endregion #region Internal structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CPCDiskInfo + struct CpcDiskInfo { /// <summary> /// Magic number, "MV - CPCEMU Disk-File" in old files, "EXTENDED CPC DSK File" in extended ones @@ -111,7 +111,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CPCTrackInfo + struct CpcTrackInfo { /// <summary> /// Magic number, "Track-Info\r\n" @@ -157,14 +157,14 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Informatino for up to 32 sectors /// </summary> - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public CPCSectorInfo[] sectorsInfo; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public CpcSectorInfo[] sectorsInfo; } /// <summary> /// Sector information /// </summary> [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CPCSectorInfo + struct CpcSectorInfo { /// <summary> /// Track number from address mark @@ -203,31 +203,31 @@ namespace DiscImageChef.ImagePlugins Dictionary<ulong, byte[]> addressMarks; #endregion - public CPCDSK() + public Cpcdsk() { Name = "CPCEMU Disk-File and Extended CPC Disk-File"; - PluginUUID = new Guid("724B16CC-ADB9-492E-BA07-CAEEC1012B16"); + PluginUuid = new Guid("724B16CC-ADB9-492E-BA07-CAEEC1012B16"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -237,19 +237,19 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] header_b = new byte[256]; - stream.Read(header_b, 0, 256); - CPCDiskInfo header = new CPCDiskInfo(); + byte[] headerB = new byte[256]; + stream.Read(headerB, 0, 256); + CpcDiskInfo header = new CpcDiskInfo(); IntPtr headerPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(header_b, 0, headerPtr, 256); - header = (CPCDiskInfo)Marshal.PtrToStructure(headerPtr, typeof(CPCDiskInfo)); + Marshal.Copy(headerB, 0, headerPtr, 256); + header = (CpcDiskInfo)Marshal.PtrToStructure(headerPtr, typeof(CpcDiskInfo)); Marshal.FreeHGlobal(headerPtr); DicConsole.DebugWriteLine("CPCDSK plugin", "header.magic = \"{0}\"", StringHandlers.CToString(header.magic)); - return CPCDSKId.SequenceEqual(header.magic) || EDSKId.SequenceEqual(header.magic) || - DU54Id.SequenceEqual(header.magic); + return cpcdskId.SequenceEqual(header.magic) || edskId.SequenceEqual(header.magic) || + du54Id.SequenceEqual(header.magic); } public override bool OpenImage(Filter imageFilter) @@ -259,18 +259,18 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] header_b = new byte[256]; - stream.Read(header_b, 0, 256); - CPCDiskInfo header = new CPCDiskInfo(); + byte[] headerB = new byte[256]; + stream.Read(headerB, 0, 256); + CpcDiskInfo header = new CpcDiskInfo(); IntPtr headerPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(header_b, 0, headerPtr, 256); - header = (CPCDiskInfo)Marshal.PtrToStructure(headerPtr, typeof(CPCDiskInfo)); + Marshal.Copy(headerB, 0, headerPtr, 256); + header = (CpcDiskInfo)Marshal.PtrToStructure(headerPtr, typeof(CpcDiskInfo)); Marshal.FreeHGlobal(headerPtr); - if(!CPCDSKId.SequenceEqual(header.magic) && !EDSKId.SequenceEqual(header.magic) && - !DU54Id.SequenceEqual(header.magic)) return false; + if(!cpcdskId.SequenceEqual(header.magic) && !edskId.SequenceEqual(header.magic) && + !du54Id.SequenceEqual(header.magic)) return false; - extended = EDSKId.SequenceEqual(header.magic); + extended = edskId.SequenceEqual(header.magic); DicConsole.DebugWriteLine("CPCDSK plugin", "Extended = {0}", extended); DicConsole.DebugWriteLine("CPCDSK plugin", "header.magic = \"{0}\"", StringHandlers.CToString(header.magic)); @@ -311,15 +311,15 @@ namespace DiscImageChef.ImagePlugins long trackPos = stream.Position; - byte[] track_b = new byte[256]; - stream.Read(track_b, 0, 256); - CPCTrackInfo trackInfo = new CPCTrackInfo(); + byte[] trackB = new byte[256]; + stream.Read(trackB, 0, 256); + CpcTrackInfo trackInfo = new CpcTrackInfo(); IntPtr trackPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(track_b, 0, trackPtr, 256); - trackInfo = (CPCTrackInfo)Marshal.PtrToStructure(trackPtr, typeof(CPCTrackInfo)); + Marshal.Copy(trackB, 0, trackPtr, 256); + trackInfo = (CpcTrackInfo)Marshal.PtrToStructure(trackPtr, typeof(CpcTrackInfo)); Marshal.FreeHGlobal(trackPtr); - if(!TrackId.SequenceEqual(trackInfo.magic)) + if(!trackId.SequenceEqual(trackInfo.magic)) { DicConsole.ErrorWriteLine("Not the expected track info."); return false; @@ -403,7 +403,7 @@ namespace DiscImageChef.ImagePlugins amForCrc[7] = (byte)trackInfo.sectorsInfo[k - 1].size; byte[] amCrc; - CRC16Context.Data(amForCrc, 8, out amCrc); + Crc16Context.Data(amForCrc, 8, out amCrc); byte[] addressMark = new byte[22]; Array.Copy(amForCrc, 0, addressMark, 12, 8); @@ -417,20 +417,20 @@ namespace DiscImageChef.ImagePlugins sectors.Add(currentSector, thisTrackSectors[s]); addressMarks.Add(currentSector, thisTrackAddressMarks[s]); currentSector++; - if(thisTrackSectors[s].Length > ImageInfo.sectorSize) - ImageInfo.sectorSize = (uint)thisTrackSectors[s].Length; + if(thisTrackSectors[s].Length > ImageInfo.SectorSize) + ImageInfo.SectorSize = (uint)thisTrackSectors[s].Length; } stream.Seek(trackPos, SeekOrigin.Begin); if(extended) { stream.Seek(header.tracksizeTable[i * header.sides + j] * 256, SeekOrigin.Current); - ImageInfo.imageSize += (ulong)(header.tracksizeTable[i * header.sides + j] * 256) - 256; + ImageInfo.ImageSize += (ulong)(header.tracksizeTable[i * header.sides + j] * 256) - 256; } else { stream.Seek(header.tracksize, SeekOrigin.Current); - ImageInfo.imageSize += (ulong)header.tracksize - 256; + ImageInfo.ImageSize += (ulong)header.tracksize - 256; } readtracks++; @@ -441,14 +441,14 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("CPCDSK plugin", "Read {0} tracks", readtracks); DicConsole.DebugWriteLine("CPCDSK plugin", "All tracks are same size? {0}", allTracksSameSize); - ImageInfo.imageApplication = StringHandlers.CToString(header.creator); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = (ulong)sectors.Count; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.CompactFloppy; - ImageInfo.readableSectorTags.Add(SectorTagType.FloppyAddressMark); + ImageInfo.ImageApplication = StringHandlers.CToString(header.creator); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = (ulong)sectors.Count; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.CompactFloppy; + ImageInfo.ReadableSectorTags.Add(SectorTagType.FloppyAddressMark); // Debug writing full disk as raw /* @@ -462,9 +462,9 @@ namespace DiscImageChef.ImagePlugins foo.Close(); */ - ImageInfo.cylinders = header.tracks; - ImageInfo.heads = header.sides; - ImageInfo.sectorsPerTrack = (uint)(ImageInfo.sectors / (ImageInfo.cylinders * ImageInfo.heads)); + ImageInfo.Cylinders = header.tracks; + ImageInfo.Heads = header.sides; + ImageInfo.SectorsPerTrack = (uint)(ImageInfo.Sectors / (ImageInfo.Cylinders * ImageInfo.Heads)); return true; } @@ -492,17 +492,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -512,47 +512,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -566,11 +566,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -600,11 +600,11 @@ namespace DiscImageChef.ImagePlugins if(tag != SectorTagType.FloppyAddressMark) throw new FeatureUnsupportedImageException(string.Format("Tag {0} not supported by image format", tag)); - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -749,18 +749,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/CisCopy.cs b/DiscImageChef.DiscImages/CisCopy.cs index f324a43a8..d24feed8f 100644 --- a/DiscImageChef.DiscImages/CisCopy.cs +++ b/DiscImageChef.DiscImages/CisCopy.cs @@ -37,7 +37,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { /* This is a very simple format created by a German application called CisCopy, aka CCOPY.EXE, with extension .DCF. * First byte indicates the floppy type, limited to standard formats. @@ -90,28 +90,28 @@ namespace DiscImageChef.ImagePlugins public CisCopy() { Name = "CisCopy Disk Image (DC-File)"; - PluginUUID = new Guid("EDF20CC7-6012-49E2-9E92-663A53E42130"); + PluginUuid = new Guid("EDF20CC7-6012-49E2-9E92-663A53E42130"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } #region Public methods @@ -262,72 +262,72 @@ namespace DiscImageChef.ImagePlugins debugStream.Close(); */ - ImageInfo.imageApplication = "CisCopy"; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = imageFilter.GetFilename(); - ImageInfo.imageSize = (ulong)(stream.Length - 2 - trackBytes.Length); - ImageInfo.sectorSize = 512; + ImageInfo.ImageApplication = "CisCopy"; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = imageFilter.GetFilename(); + ImageInfo.ImageSize = (ulong)(stream.Length - 2 - trackBytes.Length); + ImageInfo.SectorSize = 512; switch(type) { case DiskType.MD1DD8: - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; - ImageInfo.sectors = 40 * 1 * 8; - ImageInfo.heads = 1; - ImageInfo.cylinders = 40; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; + ImageInfo.Sectors = 40 * 1 * 8; + ImageInfo.Heads = 1; + ImageInfo.Cylinders = 40; + ImageInfo.SectorsPerTrack = 8; break; case DiskType.MD2DD8: - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; - ImageInfo.sectors = 40 * 2 * 8; - ImageInfo.heads = 2; - ImageInfo.cylinders = 40; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; + ImageInfo.Sectors = 40 * 2 * 8; + ImageInfo.Heads = 2; + ImageInfo.Cylinders = 40; + ImageInfo.SectorsPerTrack = 8; break; case DiskType.MD1DD: - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; - ImageInfo.sectors = 40 * 1 * 9; - ImageInfo.heads = 1; - ImageInfo.cylinders = 40; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; + ImageInfo.Sectors = 40 * 1 * 9; + ImageInfo.Heads = 1; + ImageInfo.Cylinders = 40; + ImageInfo.SectorsPerTrack = 9; break; case DiskType.MD2DD: - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; - ImageInfo.sectors = 40 * 2 * 9; - ImageInfo.heads = 2; - ImageInfo.cylinders = 40; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; + ImageInfo.Sectors = 40 * 2 * 9; + ImageInfo.Heads = 2; + ImageInfo.Cylinders = 40; + ImageInfo.SectorsPerTrack = 9; break; case DiskType.MF2DD: - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; - ImageInfo.sectors = 80 * 2 * 9; - ImageInfo.heads = 2; - ImageInfo.cylinders = 80; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; + ImageInfo.Sectors = 80 * 2 * 9; + ImageInfo.Heads = 2; + ImageInfo.Cylinders = 80; + ImageInfo.SectorsPerTrack = 9; break; case DiskType.MD2HD: - ImageInfo.mediaType = MediaType.DOS_525_HD; - ImageInfo.sectors = 80 * 2 * 15; - ImageInfo.heads = 2; - ImageInfo.cylinders = 80; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.MediaType = MediaType.DOS_525_HD; + ImageInfo.Sectors = 80 * 2 * 15; + ImageInfo.Heads = 2; + ImageInfo.Cylinders = 80; + ImageInfo.SectorsPerTrack = 15; break; case DiskType.MF2HD: - ImageInfo.mediaType = MediaType.DOS_35_HD; - ImageInfo.sectors = 80 * 2 * 18; - ImageInfo.heads = 2; - ImageInfo.cylinders = 80; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.MediaType = MediaType.DOS_35_HD; + ImageInfo.Sectors = 80 * 2 * 18; + ImageInfo.Heads = 2; + ImageInfo.Cylinders = 80; + ImageInfo.SectorsPerTrack = 18; break; } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; decodedDisk = decodedImage.ToArray(); decodedImage.Close(); - DicConsole.VerboseWriteLine("CisCopy image contains a disk of type {0}", ImageInfo.mediaType); + DicConsole.VerboseWriteLine("CisCopy image contains a disk of type {0}", ImageInfo.MediaType); return true; } @@ -342,24 +342,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -371,22 +371,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -396,16 +396,16 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Array.Copy(decodedDisk, (int)sectorAddress * ImageInfo.sectorSize, buffer, 0, - length * ImageInfo.sectorSize); + Array.Copy(decodedDisk, (int)sectorAddress * ImageInfo.SectorSize, buffer, 0, + length * ImageInfo.SectorSize); return buffer; } @@ -417,97 +417,97 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } #endregion Public methods diff --git a/DiscImageChef.DiscImages/CloneCD.cs b/DiscImageChef.DiscImages/CloneCD.cs index b3e0e58c7..ab782b60a 100644 --- a/DiscImageChef.DiscImages/CloneCD.cs +++ b/DiscImageChef.DiscImages/CloneCD.cs @@ -39,43 +39,43 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Decoders.CD; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.DiscImages { - public class CloneCD : ImagePlugin + public class CloneCd : ImagePlugin { #region Parsing regexs - const string CCD_Identifier = "^\\s*\\[CloneCD\\]"; - const string Disc_Identifier = "^\\s*\\[Disc\\]"; - const string Session_Identifier = "^\\s*\\[Session\\s*(?<number>\\d+)\\]"; - const string Entry_Identifier = "^\\s*\\[Entry\\s*(?<number>\\d+)\\]"; - const string Track_Identifier = "^\\s*\\[TRACK\\s*(?<number>\\d+)\\]"; - const string CDText_Identifier = "^\\s*\\[CDText\\]"; - const string CCD_Version = "^\\s*Version\\s*=\\s*(?<value>\\d+)"; - const string Disc_Entries = "^\\s*TocEntries\\s*=\\s*(?<value>\\d+)"; - const string Disc_Sessions = "^\\s*Sessions\\s*=\\s*(?<value>\\d+)"; - const string Disc_Scrambled = "^\\s*DataTracksScrambled\\s*=\\s*(?<value>\\d+)"; - const string CDText_Length = "^\\s*CDTextLength\\s*=\\s*(?<value>\\d+)"; - const string Disc_Catalog = "^\\s*CATALOG\\s*=\\s*(?<value>\\w+)"; - const string Session_Pregap = "^\\s*PreGapMode\\s*=\\s*(?<value>\\d+)"; - const string Session_Subchannel = "^\\s*PreGapSubC\\s*=\\s*(?<value>\\d+)"; - const string Entry_Session = "^\\s*Session\\s*=\\s*(?<value>\\d+)"; - const string Entry_Point = "^\\s*Point\\s*=\\s*(?<value>[\\w+]+)"; - const string Entry_ADR = "^\\s*ADR\\s*=\\s*(?<value>\\w+)"; - const string Entry_Control = "^\\s*Control\\s*=\\s*(?<value>\\w+)"; - const string Entry_TrackNo = "^\\s*TrackNo\\s*=\\s*(?<value>\\d+)"; - const string Entry_AMin = "^\\s*AMin\\s*=\\s*(?<value>\\d+)"; - const string Entry_ASec = "^\\s*ASec\\s*=\\s*(?<value>\\d+)"; - const string Entry_AFrame = "^\\s*AFrame\\s*=\\s*(?<value>\\d+)"; - const string Entry_ALBA = "^\\s*ALBA\\s*=\\s*(?<value>-?\\d+)"; - const string Entry_Zero = "^\\s*Zero\\s*=\\s*(?<value>\\d+)"; - const string Entry_PMin = "^\\s*PMin\\s*=\\s*(?<value>\\d+)"; - const string Entry_PSec = "^\\s*PSec\\s*=\\s*(?<value>\\d+)"; - const string Entry_PFrame = "^\\s*PFrame\\s*=\\s*(?<value>\\d+)"; - const string Entry_PLBA = "^\\s*PLBA\\s*=\\s*(?<value>\\d+)"; - const string CDText_Entries = "^\\s*Entries\\s*=\\s*(?<value>\\d+)"; - const string CDText_Entry = "^\\s*Entry\\s*(?<number>\\d+)\\s*=\\s*(?<value>([0-9a-fA-F]+\\s*)+)"; + const string CCD_IDENTIFIER = "^\\s*\\[CloneCD\\]"; + const string DISC_IDENTIFIER = "^\\s*\\[Disc\\]"; + const string SESSION_IDENTIFIER = "^\\s*\\[Session\\s*(?<number>\\d+)\\]"; + const string ENTRY_IDENTIFIER = "^\\s*\\[Entry\\s*(?<number>\\d+)\\]"; + const string TRACK_IDENTIFIER = "^\\s*\\[TRACK\\s*(?<number>\\d+)\\]"; + const string CDTEXT_IDENTIFIER = "^\\s*\\[CDText\\]"; + const string CCD_VERSION = "^\\s*Version\\s*=\\s*(?<value>\\d+)"; + const string DISC_ENTRIES = "^\\s*TocEntries\\s*=\\s*(?<value>\\d+)"; + const string DISC_SESSIONS = "^\\s*Sessions\\s*=\\s*(?<value>\\d+)"; + const string DISC_SCRAMBLED = "^\\s*DataTracksScrambled\\s*=\\s*(?<value>\\d+)"; + const string CDTEXT_LENGTH = "^\\s*CDTextLength\\s*=\\s*(?<value>\\d+)"; + const string DISC_CATALOG = "^\\s*CATALOG\\s*=\\s*(?<value>\\w+)"; + const string SESSION_PREGAP = "^\\s*PreGapMode\\s*=\\s*(?<value>\\d+)"; + const string SESSION_SUBCHANNEL = "^\\s*PreGapSubC\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_SESSION = "^\\s*Session\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_POINT = "^\\s*Point\\s*=\\s*(?<value>[\\w+]+)"; + const string ENTRY_ADR = "^\\s*ADR\\s*=\\s*(?<value>\\w+)"; + const string ENTRY_CONTROL = "^\\s*Control\\s*=\\s*(?<value>\\w+)"; + const string ENTRY_TRACKNO = "^\\s*TrackNo\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_AMIN = "^\\s*AMin\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_ASEC = "^\\s*ASec\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_AFRAME = "^\\s*AFrame\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_ALBA = "^\\s*ALBA\\s*=\\s*(?<value>-?\\d+)"; + const string ENTRY_ZERO = "^\\s*Zero\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_PMIN = "^\\s*PMin\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_PSEC = "^\\s*PSec\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_PFRAME = "^\\s*PFrame\\s*=\\s*(?<value>\\d+)"; + const string ENTRY_PLBA = "^\\s*PLBA\\s*=\\s*(?<value>\\d+)"; + const string CDTEXT_ENTRIES = "^\\s*Entries\\s*=\\s*(?<value>\\d+)"; + const string CDTEXT_ENTRY = "^\\s*Entry\\s*(?<number>\\d+)\\s*=\\s*(?<value>([0-9a-fA-F]+\\s*)+)"; #endregion Filter imageFilter; @@ -85,7 +85,7 @@ namespace DiscImageChef.DiscImages byte[] fulltoc; bool scrambled; string catalog; - List<ImagePlugins.Session> sessions; + List<DiscImages.Session> sessions; List<Partition> partitions; List<Track> tracks; Stream dataStream; @@ -93,28 +93,28 @@ namespace DiscImageChef.DiscImages Dictionary<uint, ulong> offsetmap; byte[] cdtext; - public CloneCD() + public CloneCd() { Name = "CloneCD"; - PluginUUID = new Guid("EE9C2975-2E79-427A-8EE9-F86F19165784"); + PluginUuid = new Guid("EE9C2975-2E79-427A-8EE9-F86F19165784"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -149,13 +149,13 @@ namespace DiscImageChef.DiscImages string _line = cueStream.ReadLine(); - Regex Hdr = new Regex(CCD_Identifier); + Regex hdr = new Regex(CCD_IDENTIFIER); - Match Hdm; + Match hdm; - Hdm = Hdr.Match(_line); + hdm = hdr.Match(_line); - return Hdm.Success; + return hdm.Success; } catch(Exception ex) { @@ -178,74 +178,74 @@ namespace DiscImageChef.DiscImages cueStream = new StreamReader(imageFilter.GetDataForkStream()); int line = 0; - Regex CCD_IdRegex = new Regex(CCD_Identifier); - Regex Disc_IdRegex = new Regex(Disc_Identifier); - Regex Sess_IdRegex = new Regex(Session_Identifier); - Regex Entry_IdRegex = new Regex(Entry_Identifier); - Regex Track_IdRegex = new Regex(Track_Identifier); - Regex CDT_IdRegex = new Regex(CDText_Identifier); - Regex CCD_VerRegex = new Regex(CCD_Version); - Regex Disc_EntRegex = new Regex(Disc_Entries); - Regex Disc_SessRegex = new Regex(Disc_Sessions); - Regex Disc_ScrRegex = new Regex(Disc_Scrambled); - Regex CDT_LenRegex = new Regex(CDText_Length); - Regex Disc_CatRegex = new Regex(Disc_Catalog); - Regex Sess_PregRegex = new Regex(Session_Pregap); - Regex Sess_SubcRegex = new Regex(Session_Subchannel); - Regex Ent_SessRegex = new Regex(Entry_Session); - Regex Ent_PointRegex = new Regex(Entry_Point); - Regex Ent_ADRRegex = new Regex(Entry_ADR); - Regex Ent_CtrlRegex = new Regex(Entry_Control); - Regex Ent_TNORegex = new Regex(Entry_TrackNo); - Regex Ent_AMinRegex = new Regex(Entry_AMin); - Regex Ent_ASecRegex = new Regex(Entry_ASec); - Regex Ent_AFrameRegex = new Regex(Entry_AFrame); - Regex Ent_ALBARegex = new Regex(Entry_ALBA); - Regex Ent_ZeroRegex = new Regex(Entry_Zero); - Regex Ent_PMinRegex = new Regex(Entry_PMin); - Regex Ent_PSecRegex = new Regex(Entry_PSec); - Regex Ent_PFrameRegex = new Regex(Entry_PFrame); - Regex Ent_PLBARegex = new Regex(Entry_PLBA); - Regex CDT_EntsRegex = new Regex(CDText_Entries); - Regex CDT_EntRegex = new Regex(CDText_Entry); + Regex ccdIdRegex = new Regex(CCD_IDENTIFIER); + Regex discIdRegex = new Regex(DISC_IDENTIFIER); + Regex sessIdRegex = new Regex(SESSION_IDENTIFIER); + Regex entryIdRegex = new Regex(ENTRY_IDENTIFIER); + Regex trackIdRegex = new Regex(TRACK_IDENTIFIER); + Regex cdtIdRegex = new Regex(CDTEXT_IDENTIFIER); + Regex ccdVerRegex = new Regex(CCD_VERSION); + Regex discEntRegex = new Regex(DISC_ENTRIES); + Regex discSessRegex = new Regex(DISC_SESSIONS); + Regex discScrRegex = new Regex(DISC_SCRAMBLED); + Regex cdtLenRegex = new Regex(CDTEXT_LENGTH); + Regex discCatRegex = new Regex(DISC_CATALOG); + Regex sessPregRegex = new Regex(SESSION_PREGAP); + Regex sessSubcRegex = new Regex(SESSION_SUBCHANNEL); + Regex entSessRegex = new Regex(ENTRY_SESSION); + Regex entPointRegex = new Regex(ENTRY_POINT); + Regex entAdrRegex = new Regex(ENTRY_ADR); + Regex entCtrlRegex = new Regex(ENTRY_CONTROL); + Regex entTnoRegex = new Regex(ENTRY_TRACKNO); + Regex entAMinRegex = new Regex(ENTRY_AMIN); + Regex entASecRegex = new Regex(ENTRY_ASEC); + Regex entAFrameRegex = new Regex(ENTRY_AFRAME); + Regex entAlbaRegex = new Regex(ENTRY_ALBA); + Regex entZeroRegex = new Regex(ENTRY_ZERO); + Regex entPMinRegex = new Regex(ENTRY_PMIN); + Regex entPSecRegex = new Regex(ENTRY_PSEC); + Regex entPFrameRegex = new Regex(ENTRY_PFRAME); + Regex entPlbaRegex = new Regex(ENTRY_PLBA); + Regex cdtEntsRegex = new Regex(CDTEXT_ENTRIES); + Regex cdtEntRegex = new Regex(CDTEXT_ENTRY); - Match CCD_IdMatch; - Match Disc_IdMatch; - Match Sess_IdMatch; - Match Entry_IdMatch; - Match Track_IdMatch; - Match CDT_IdMatch; - Match CCD_VerMatch; - Match Disc_EntMatch; - Match Disc_SessMatch; - Match Disc_ScrMatch; - Match CDT_LenMatch; - Match Disc_CatMatch; - Match Sess_PregMatch; - Match Sess_SubcMatch; - Match Ent_SessMatch; - Match Ent_PointMatch; - Match Ent_ADRMatch; - Match Ent_CtrlMatch; - Match Ent_TNOMatch; - Match Ent_AMinMatch; - Match Ent_ASecMatch; - Match Ent_AFrameMatch; - Match Ent_ALBAMatch; - Match Ent_ZeroMatch; - Match Ent_PMinMatch; - Match Ent_PSecMatch; - Match Ent_PFrameMatch; - Match Ent_PLBAMatch; - Match CDT_EntsMatch; - Match CDT_EntMatch; + Match ccdIdMatch; + Match discIdMatch; + Match sessIdMatch; + Match entryIdMatch; + Match trackIdMatch; + Match cdtIdMatch; + Match ccdVerMatch; + Match discEntMatch; + Match discSessMatch; + Match discScrMatch; + Match cdtLenMatch; + Match discCatMatch; + Match sessPregMatch; + Match sessSubcMatch; + Match entSessMatch; + Match entPointMatch; + Match entAdrMatch; + Match entCtrlMatch; + Match entTnoMatch; + Match entAMinMatch; + Match entASecMatch; + Match entAFrameMatch; + Match entAlbaMatch; + Match entZeroMatch; + Match entPMinMatch; + Match entPSecMatch; + Match entPFrameMatch; + Match entPlbaMatch; + Match cdtEntsMatch; + Match cdtEntMatch; bool inCcd = false; bool inDisk = false; bool inSession = false; bool inEntry = false; bool inTrack = false; - bool inCDText = false; + bool inCdText = false; MemoryStream cdtMs = new MemoryStream(); int minSession = int.MaxValue; int maxSession = int.MinValue; @@ -259,17 +259,17 @@ namespace DiscImageChef.DiscImages line++; string _line = cueStream.ReadLine(); - CCD_IdMatch = CCD_IdRegex.Match(_line); - Disc_IdMatch = Disc_IdRegex.Match(_line); - Sess_IdMatch = Sess_IdRegex.Match(_line); - Entry_IdMatch = Entry_IdRegex.Match(_line); - Track_IdMatch = Track_IdRegex.Match(_line); - CDT_IdMatch = CDT_IdRegex.Match(_line); + ccdIdMatch = ccdIdRegex.Match(_line); + discIdMatch = discIdRegex.Match(_line); + sessIdMatch = sessIdRegex.Match(_line); + entryIdMatch = entryIdRegex.Match(_line); + trackIdMatch = trackIdRegex.Match(_line); + cdtIdMatch = cdtIdRegex.Match(_line); // [CloneCD] - if(CCD_IdMatch.Success) + if(ccdIdMatch.Success) { - if(inDisk || inSession || inEntry || inTrack || inCDText) + if(inDisk || inSession || inEntry || inTrack || inCdText) throw new FeatureUnsupportedImageException(string .Format("Found [CloneCD] out of order in line {0}", @@ -280,10 +280,10 @@ namespace DiscImageChef.DiscImages inSession = false; inEntry = false; inTrack = false; - inCDText = false; + inCdText = false; } - else if(Disc_IdMatch.Success || Sess_IdMatch.Success || Entry_IdMatch.Success || - Track_IdMatch.Success || CDT_IdMatch.Success) + else if(discIdMatch.Success || sessIdMatch.Success || entryIdMatch.Success || + trackIdMatch.Success || cdtIdMatch.Success) { if(inEntry) { @@ -292,75 +292,75 @@ namespace DiscImageChef.DiscImages } inCcd = false; - inDisk = Disc_IdMatch.Success; - inSession = Sess_IdMatch.Success; - inEntry = Entry_IdMatch.Success; - inTrack = Track_IdMatch.Success; - inCDText = CDT_IdMatch.Success; + inDisk = discIdMatch.Success; + inSession = sessIdMatch.Success; + inEntry = entryIdMatch.Success; + inTrack = trackIdMatch.Success; + inCdText = cdtIdMatch.Success; } else { if(inCcd) { - CCD_VerMatch = CCD_VerRegex.Match(_line); + ccdVerMatch = ccdVerRegex.Match(_line); - if(CCD_VerMatch.Success) + if(ccdVerMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Version at line {0}", line); - ImageInfo.imageVersion = CCD_VerMatch.Groups["value"].Value; - if(ImageInfo.imageVersion != "2" && ImageInfo.imageVersion != "3") + ImageInfo.ImageVersion = ccdVerMatch.Groups["value"].Value; + if(ImageInfo.ImageVersion != "2" && ImageInfo.ImageVersion != "3") DicConsole .ErrorWriteLine("(CloneCD plugin): Warning! Unknown CCD image version {0}, may not work!", - ImageInfo.imageVersion); + ImageInfo.ImageVersion); } } else if(inDisk) { - Disc_EntMatch = Disc_EntRegex.Match(_line); - Disc_SessMatch = Disc_SessRegex.Match(_line); - Disc_ScrMatch = Disc_ScrRegex.Match(_line); - CDT_LenMatch = CDT_LenRegex.Match(_line); - Disc_CatMatch = Disc_CatRegex.Match(_line); + discEntMatch = discEntRegex.Match(_line); + discSessMatch = discSessRegex.Match(_line); + discScrMatch = discScrRegex.Match(_line); + cdtLenMatch = cdtLenRegex.Match(_line); + discCatMatch = discCatRegex.Match(_line); - if(Disc_EntMatch.Success) + if(discEntMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found TocEntries at line {0}", line); } - else if(Disc_SessMatch.Success) + else if(discSessMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Sessions at line {0}", line); } - else if(Disc_ScrMatch.Success) + else if(discScrMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found DataTracksScrambled at line {0}", line); - scrambled |= Disc_ScrMatch.Groups["value"].Value == "1"; + scrambled |= discScrMatch.Groups["value"].Value == "1"; } - else if(CDT_LenMatch.Success) + else if(cdtLenMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found CDTextLength at line {0}", line); } - else if(Disc_CatMatch.Success) + else if(discCatMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Catalog at line {0}", line); - catalog = Disc_CatMatch.Groups["value"].Value; + catalog = discCatMatch.Groups["value"].Value; } } // TODO: Do not suppose here entries come sorted - else if(inCDText) + else if(inCdText) { - CDT_EntsMatch = CDT_EntsRegex.Match(_line); - CDT_EntMatch = CDT_EntRegex.Match(_line); + cdtEntsMatch = cdtEntsRegex.Match(_line); + cdtEntMatch = cdtEntRegex.Match(_line); - if(CDT_EntsMatch.Success) + if(cdtEntsMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found CD-Text Entries at line {0}", line); } - else if(CDT_EntMatch.Success) + else if(cdtEntMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found CD-Text Entry at line {0}", line); - string[] bytes = CDT_EntMatch.Groups["value"].Value.Split(new char[] {' '}, + string[] bytes = cdtEntMatch.Groups["value"].Value.Split(new char[] {' '}, StringSplitOptions .RemoveEmptyEntries); foreach(string byt in bytes) cdtMs.WriteByte(Convert.ToByte(byt, 16)); @@ -369,104 +369,104 @@ namespace DiscImageChef.DiscImages // Is this useful? else if(inSession) { - Sess_PregMatch = Sess_PregRegex.Match(_line); - Sess_SubcMatch = Sess_SubcRegex.Match(_line); + sessPregMatch = sessPregRegex.Match(_line); + sessSubcMatch = sessSubcRegex.Match(_line); - if(Sess_PregMatch.Success) + if(sessPregMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found PreGapMode at line {0}", line); } - else if(Sess_SubcMatch.Success) + else if(sessSubcMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found PreGapSubC at line {0}", line); } } else if(inEntry) { - Ent_SessMatch = Ent_SessRegex.Match(_line); - Ent_PointMatch = Ent_PointRegex.Match(_line); - Ent_ADRMatch = Ent_ADRRegex.Match(_line); - Ent_CtrlMatch = Ent_CtrlRegex.Match(_line); - Ent_TNOMatch = Ent_TNORegex.Match(_line); - Ent_AMinMatch = Ent_AMinRegex.Match(_line); - Ent_ASecMatch = Ent_ASecRegex.Match(_line); - Ent_AFrameMatch = Ent_AFrameRegex.Match(_line); - Ent_ALBAMatch = Ent_ALBARegex.Match(_line); - Ent_ZeroMatch = Ent_ZeroRegex.Match(_line); - Ent_PMinMatch = Ent_PMinRegex.Match(_line); - Ent_PSecMatch = Ent_PSecRegex.Match(_line); - Ent_PFrameMatch = Ent_PFrameRegex.Match(_line); - Ent_PLBAMatch = Ent_PLBARegex.Match(_line); + entSessMatch = entSessRegex.Match(_line); + entPointMatch = entPointRegex.Match(_line); + entAdrMatch = entAdrRegex.Match(_line); + entCtrlMatch = entCtrlRegex.Match(_line); + entTnoMatch = entTnoRegex.Match(_line); + entAMinMatch = entAMinRegex.Match(_line); + entASecMatch = entASecRegex.Match(_line); + entAFrameMatch = entAFrameRegex.Match(_line); + entAlbaMatch = entAlbaRegex.Match(_line); + entZeroMatch = entZeroRegex.Match(_line); + entPMinMatch = entPMinRegex.Match(_line); + entPSecMatch = entPSecRegex.Match(_line); + entPFrameMatch = entPFrameRegex.Match(_line); + entPlbaMatch = entPlbaRegex.Match(_line); - if(Ent_SessMatch.Success) + if(entSessMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Session at line {0}", line); - currentEntry.SessionNumber = Convert.ToByte(Ent_SessMatch.Groups["value"].Value, 10); + currentEntry.SessionNumber = Convert.ToByte(entSessMatch.Groups["value"].Value, 10); if(currentEntry.SessionNumber < minSession) minSession = currentEntry.SessionNumber; if(currentEntry.SessionNumber > maxSession) maxSession = currentEntry.SessionNumber; } - else if(Ent_PointMatch.Success) + else if(entPointMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Point at line {0}", line); - currentEntry.POINT = Convert.ToByte(Ent_PointMatch.Groups["value"].Value, 16); + currentEntry.POINT = Convert.ToByte(entPointMatch.Groups["value"].Value, 16); } - else if(Ent_ADRMatch.Success) + else if(entAdrMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found ADR at line {0}", line); - currentEntry.ADR = Convert.ToByte(Ent_ADRMatch.Groups["value"].Value, 16); + currentEntry.ADR = Convert.ToByte(entAdrMatch.Groups["value"].Value, 16); } - else if(Ent_CtrlMatch.Success) + else if(entCtrlMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Control at line {0}", line); - currentEntry.CONTROL = Convert.ToByte(Ent_CtrlMatch.Groups["value"].Value, 16); + currentEntry.CONTROL = Convert.ToByte(entCtrlMatch.Groups["value"].Value, 16); } - else if(Ent_TNOMatch.Success) + else if(entTnoMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found TrackNo at line {0}", line); - currentEntry.TNO = Convert.ToByte(Ent_TNOMatch.Groups["value"].Value, 10); + currentEntry.TNO = Convert.ToByte(entTnoMatch.Groups["value"].Value, 10); } - else if(Ent_AMinMatch.Success) + else if(entAMinMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found AMin at line {0}", line); - currentEntry.Min = Convert.ToByte(Ent_AMinMatch.Groups["value"].Value, 10); + currentEntry.Min = Convert.ToByte(entAMinMatch.Groups["value"].Value, 10); } - else if(Ent_ASecMatch.Success) + else if(entASecMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found ASec at line {0}", line); - currentEntry.Sec = Convert.ToByte(Ent_ASecMatch.Groups["value"].Value, 10); + currentEntry.Sec = Convert.ToByte(entASecMatch.Groups["value"].Value, 10); } - else if(Ent_AFrameMatch.Success) + else if(entAFrameMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found AFrame at line {0}", line); - currentEntry.Frame = Convert.ToByte(Ent_AFrameMatch.Groups["value"].Value, 10); + currentEntry.Frame = Convert.ToByte(entAFrameMatch.Groups["value"].Value, 10); } - else if(Ent_ALBAMatch.Success) + else if(entAlbaMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found ALBA at line {0}", line); } - else if(Ent_ZeroMatch.Success) + else if(entZeroMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found Zero at line {0}", line); - currentEntry.Zero = Convert.ToByte(Ent_ZeroMatch.Groups["value"].Value, 10); + currentEntry.Zero = Convert.ToByte(entZeroMatch.Groups["value"].Value, 10); currentEntry.HOUR = (byte)((currentEntry.Zero & 0xF0) >> 4); currentEntry.PHOUR = (byte)(currentEntry.Zero & 0x0F); } - else if(Ent_PMinMatch.Success) + else if(entPMinMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found PMin at line {0}", line); - currentEntry.PMIN = Convert.ToByte(Ent_PMinMatch.Groups["value"].Value, 10); + currentEntry.PMIN = Convert.ToByte(entPMinMatch.Groups["value"].Value, 10); } - else if(Ent_PSecMatch.Success) + else if(entPSecMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found PSec at line {0}", line); - currentEntry.PSEC = Convert.ToByte(Ent_PSecMatch.Groups["value"].Value, 10); + currentEntry.PSEC = Convert.ToByte(entPSecMatch.Groups["value"].Value, 10); } - else if(Ent_PFrameMatch.Success) + else if(entPFrameMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found PFrame at line {0}", line); - currentEntry.PFRAME = Convert.ToByte(Ent_PFrameMatch.Groups["value"].Value, 10); + currentEntry.PFRAME = Convert.ToByte(entPFrameMatch.Groups["value"].Value, 10); } - else if(Ent_PLBAMatch.Success) + else if(entPlbaMatch.Success) { DicConsole.DebugWriteLine("CloneCD plugin", "Found PLBA at line {0}", line); } @@ -503,7 +503,7 @@ namespace DiscImageChef.DiscImages } fulltoc = tocMs.ToArray(); - ImageInfo.readableMediaTags.Add(MediaTagType.CD_FullTOC); + ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_FullTOC); DicConsole.DebugWriteLine("CloneCD plugin", "{0}", FullTOC.Prettify(toc)); @@ -523,7 +523,7 @@ namespace DiscImageChef.DiscImages bool firstTrackInSession = true; tracks = new List<Track>(); byte discType; - ulong LeadOutStart = 0; + ulong leadOutStart = 0; dataStream = dataFilter.GetDataForkStream(); if(subFilter != null) subStream = subFilter.GetDataForkStream(); @@ -535,7 +535,7 @@ namespace DiscImageChef.DiscImages curSessionNo = descriptor.SessionNumber; if(!firstTrackInSession) { - currentTrack.TrackEndSector = LeadOutStart - 1; + currentTrack.TrackEndSector = leadOutStart - 1; tracks.Add(currentTrack); } firstTrackInSession = true; @@ -552,7 +552,7 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("CloneCD plugin", "Disc Type: {0}", discType); break; case 0xA2: - LeadOutStart = GetLBA(descriptor.PHOUR, descriptor.PMIN, descriptor.PSEC, + leadOutStart = GetLba(descriptor.PHOUR, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME); break; default: @@ -561,7 +561,7 @@ namespace DiscImageChef.DiscImages if(!firstTrackInSession) { currentTrack.TrackEndSector = - GetLBA(descriptor.PHOUR, descriptor.PMIN, descriptor.PSEC, + GetLba(descriptor.PHOUR, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME) - 1; tracks.Add(currentTrack); } @@ -575,7 +575,7 @@ namespace DiscImageChef.DiscImages currentTrack.TrackRawBytesPerSector = 2352; currentTrack.TrackSequence = descriptor.POINT; currentTrack.TrackStartSector = - GetLBA(descriptor.PHOUR, descriptor.PMIN, descriptor.PSEC, + GetLba(descriptor.PHOUR, descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME); currentTrack.TrackFileOffset = currentTrack.TrackStartSector * 2352; currentTrack.TrackSession = descriptor.SessionNumber; @@ -610,24 +610,24 @@ namespace DiscImageChef.DiscImages if(sectTest[15] == 1) { currentTrack.TrackBytesPerSector = 2048; - currentTrack.TrackType = TrackType.CDMode1; - if(!ImageInfo.readableSectorTags - .Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC) - ) ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC) - ) ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; + currentTrack.TrackType = TrackType.CdMode1; + if(!ImageInfo.ReadableSectorTags + .Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc) + ) ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc) + ) ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; } else if(sectTest[15] == 2) { @@ -643,86 +643,86 @@ namespace DiscImageChef.DiscImages if((subHdr1[2] & 0x20) == 0x20) { currentTrack.TrackBytesPerSector = 2324; - currentTrack.TrackType = TrackType.CDMode2Form2; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorSync) + currentTrack.TrackType = TrackType.CdMode2Form2; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorSync) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorHeader) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorHeader) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorSubHeader) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorSubHeader) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorEDC); - if(ImageInfo.sectorSize < 2324) ImageInfo.sectorSize = 2324; + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorEdc); + if(ImageInfo.SectorSize < 2324) ImageInfo.SectorSize = 2324; } else { currentTrack.TrackBytesPerSector = 2048; - currentTrack.TrackType = TrackType.CDMode2Form1; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorSync) + currentTrack.TrackType = TrackType.CdMode2Form1; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorSync) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorHeader) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorHeader) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorSubHeader) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorSubHeader) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorSubHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorECC_P) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorSubHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEccP) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorECC_Q) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEccQ) ) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorEDC); - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorEdc); + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; } } else { currentTrack.TrackBytesPerSector = 2336; - currentTrack.TrackType = TrackType.CDMode2Formless; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorSync)) - ImageInfo.readableSectorTags - .Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType - .CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType - .CDSectorHeader); - if(ImageInfo.sectorSize < 2336) ImageInfo.sectorSize = 2336; + currentTrack.TrackType = TrackType.CdMode2Formless; + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorSync)) + ImageInfo.ReadableSectorTags + .Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType + .CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType + .CdSectorHeader); + if(ImageInfo.SectorSize < 2336) ImageInfo.SectorSize = 2336; } } } } - else { if(ImageInfo.sectorSize < 2352) ImageInfo.sectorSize = 2352; } + else { if(ImageInfo.SectorSize < 2352) ImageInfo.SectorSize = 2352; } } break; } @@ -737,11 +737,11 @@ namespace DiscImageChef.DiscImages int type = descriptor.PFRAME % 10; int frm = descriptor.PFRAME - type; - ImageInfo.mediaManufacturer = ATIP.ManufacturerFromATIP(descriptor.PSEC, frm); + ImageInfo.MediaManufacturer = ATIP.ManufacturerFromATIP(descriptor.PSEC, frm); - if(ImageInfo.mediaManufacturer != "") + if(ImageInfo.MediaManufacturer != "") DicConsole.DebugWriteLine("CloneCD plugin", "Disc manufactured by: {0}", - ImageInfo.mediaManufacturer); + ImageInfo.MediaManufacturer); } break; } @@ -751,7 +751,7 @@ namespace DiscImageChef.DiscImages { uint id = (uint)((descriptor.Min << 16) + (descriptor.Sec << 8) + descriptor.Frame); DicConsole.DebugWriteLine("CloneCD plugin", "Disc ID: {0:X6}", id & 0x00FFFFFF); - ImageInfo.mediaSerialNumber = string.Format("{0:X6}", id & 0x00FFFFFF); + ImageInfo.MediaSerialNumber = string.Format("{0:X6}", id & 0x00FFFFFF); break; } } @@ -759,15 +759,15 @@ namespace DiscImageChef.DiscImages if(!firstTrackInSession) { - currentTrack.TrackEndSector = LeadOutStart - 1; + currentTrack.TrackEndSector = leadOutStart - 1; tracks.Add(currentTrack); } - if(subFilter != null && !ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(subFilter != null && !ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); - sessions = new List<ImagePlugins.Session>(); - ImagePlugins.Session currentSession = new ImagePlugins.Session(); + sessions = new List<DiscImages.Session>(); + DiscImages.Session currentSession = new DiscImages.Session(); currentSession.EndTrack = uint.MinValue; currentSession.StartTrack = uint.MaxValue; currentSession.SessionSequence = 1; @@ -793,7 +793,7 @@ namespace DiscImageChef.DiscImages else { sessions.Add(currentSession); - currentSession = new ImagePlugins.Session(); + currentSession = new DiscImages.Session(); currentSession.EndTrack = uint.MinValue; currentSession.StartTrack = uint.MaxValue; currentSession.SessionSequence = track.TrackSession; @@ -804,7 +804,7 @@ namespace DiscImageChef.DiscImages partition.Size = ((track.TrackEndSector - track.TrackStartSector) + 1) * (ulong)track.TrackRawBytesPerSector; partition.Length = (track.TrackEndSector - track.TrackStartSector) + 1; - ImageInfo.sectors += partition.Length; + ImageInfo.Sectors += partition.Length; partition.Sequence = track.TrackSequence; partition.Offset = track.TrackFileOffset; partition.Start = track.TrackStartSector; @@ -835,9 +835,9 @@ namespace DiscImageChef.DiscImages switch(tracks[i].TrackType) { - case TrackType.CDMode2Form1: - case TrackType.CDMode2Form2: - case TrackType.CDMode2Formless: + case TrackType.CdMode2Form1: + case TrackType.CdMode2Form2: + case TrackType.CdMode2Formless: mode2 = true; break; } @@ -846,17 +846,17 @@ namespace DiscImageChef.DiscImages // TODO: Check format cdtext = cdtMs.ToArray(); - if(!data && !firstdata) ImageInfo.mediaType = MediaType.CDDA; - else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.mediaType = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) ImageInfo.mediaType = MediaType.CDROMXA; - else if(!audio) ImageInfo.mediaType = MediaType.CDROM; - else ImageInfo.mediaType = MediaType.CD; + if(!data && !firstdata) ImageInfo.MediaType = MediaType.CDDA; + else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.MediaType = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) ImageInfo.MediaType = MediaType.CDROMXA; + else if(!audio) ImageInfo.MediaType = MediaType.CDROM; + else ImageInfo.MediaType = MediaType.CD; - ImageInfo.imageApplication = "CloneCD"; - ImageInfo.imageSize = (ulong)imageFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.ImageApplication = "CloneCD"; + ImageInfo.ImageSize = (ulong)imageFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; return true; } @@ -869,29 +869,29 @@ namespace DiscImageChef.DiscImages } } - static ulong GetLBA(int hour, int minute, int second, int frame) + static ulong GetLba(int hour, int minute, int second, int frame) { return (ulong)((hour * 60 * 60 * 75) + (minute * 60 * 75) + (second * 75) + frame - 150); } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -1000,63 +1000,63 @@ namespace DiscImageChef.DiscImages length + sectorAddress, _track.TrackEndSector, sectorAddress)); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case TrackType.CDMode1: + case TrackType.CdMode1: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; break; } - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } - case TrackType.CDMode2Form1: + case TrackType.CdMode2Form1: { - sector_offset = 24; - sector_size = 2048; - sector_skip = 280; + sectorOffset = 24; + sectorSize = 2048; + sectorSkip = 280; break; } - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: { - sector_offset = 24; - sector_size = 2324; - sector_skip = 4; + sectorOffset = 24; + sectorSize = 2324; + sectorSkip = 4; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; dataStream.Seek((long)(_track.TrackFileOffset + sectorAddress * 2352), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) dataStream.Read(buffer, 0, buffer.Length); + if(sectorOffset == 0 && sectorSkip == 0) dataStream.Read(buffer, 0, buffer.Length); else { for(int i = 0; i < length; i++) { - byte[] sector = new byte[sector_size]; - dataStream.Seek(sector_offset, SeekOrigin.Current); + byte[] sector = new byte[sectorSize]; + dataStream.Seek(sectorOffset, SeekOrigin.Current); dataStream.Read(sector, 0, sector.Length); - dataStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + dataStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1095,14 +1095,14 @@ namespace DiscImageChef.DiscImages switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdSectorSubchannel: buffer = new byte[96 * length]; subStream.Seek((long)(_track.TrackSubchannelOffset + sectorAddress * 96), SeekOrigin.Begin); subStream.Read(buffer, 0, buffer.Length); @@ -1110,85 +1110,85 @@ namespace DiscImageChef.DiscImages default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { - case TrackType.CDMode1: + case TrackType.CdMode1: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 0; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 0; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2332; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2332; + sectorSize = 4; + sectorSkip = 0; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -1196,91 +1196,91 @@ namespace DiscImageChef.DiscImages break; } - case TrackType.CDMode2Form1: + case TrackType.CdMode2Form1: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 16; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 16; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2072; - sector_size = 4; - sector_skip = 276; + sectorOffset = 2072; + sectorSize = 4; + sectorSkip = 276; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; - case TrackType.CDMode2Form2: + case TrackType.CdMode2Form2: switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 16; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 16; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2348; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2348; + sectorSize = 4; + sectorSkip = 0; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -1294,19 +1294,19 @@ namespace DiscImageChef.DiscImages default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - buffer = new byte[sector_size * length]; + buffer = new byte[sectorSize * length]; dataStream.Seek((long)(_track.TrackFileOffset + sectorAddress * 2352), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) dataStream.Read(buffer, 0, buffer.Length); + if(sectorOffset == 0 && sectorSkip == 0) dataStream.Read(buffer, 0, buffer.Length); else { for(int i = 0; i < length; i++) { - byte[] sector = new byte[sector_size]; - dataStream.Seek(sector_offset, SeekOrigin.Current); + byte[] sector = new byte[sectorSize]; + dataStream.Seek(sectorOffset, SeekOrigin.Current); dataStream.Read(sector, 0, sector.Length); - dataStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + dataStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1383,97 +1383,97 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -1486,7 +1486,7 @@ namespace DiscImageChef.DiscImages return tracks; } - public override List<Track> GetSessionTracks(ImagePlugins.Session session) + public override List<Track> GetSessionTracks(DiscImages.Session session) { if(sessions.Contains(session)) { return GetSessionTracks(session.SessionSequence); } @@ -1495,13 +1495,13 @@ namespace DiscImageChef.DiscImages public override List<Track> GetSessionTracks(ushort session) { - List<Track> _tracks = new List<Track>(); - foreach(Track _track in tracks) { if(_track.TrackSession == session) _tracks.Add(_track); } + List<Track> tracks = new List<Track>(); + foreach(Track _track in this.tracks) { if(_track.TrackSession == session) tracks.Add(_track); } - return _tracks; + return tracks; } - public override List<ImagePlugins.Session> GetSessions() + public override List<DiscImages.Session> GetSessions() { return sessions; } @@ -1509,73 +1509,73 @@ namespace DiscImageChef.DiscImages public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } diff --git a/DiscImageChef.DiscImages/CopyQM.cs b/DiscImageChef.DiscImages/CopyQM.cs index 62983950e..6b8186812 100644 --- a/DiscImageChef.DiscImages/CopyQM.cs +++ b/DiscImageChef.DiscImages/CopyQM.cs @@ -38,13 +38,13 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class CopyQM : ImagePlugin + public class CopyQm : ImagePlugin { #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct CopyQMHeader + struct CopyQmHeader { /// <summary>0x00 magic, "CQ"</summary> public ushort magic; @@ -119,11 +119,11 @@ namespace DiscImageChef.ImagePlugins const byte COPYQM_BLIND = 1; const byte COPYQM_HFS = 2; - const byte COPYQM_525DD = 1; - const byte COPYQM_525HD = 2; - const byte COPYQM_35DD = 3; - const byte COPYQM_35HD = 4; - const byte COPYQM_35ED = 6; + const byte COPYQM_525_DD = 1; + const byte COPYQM_525_HD = 2; + const byte COPYQM_35_DD = 3; + const byte COPYQM_35_HD = 4; + const byte COPYQM_35_ED = 6; readonly uint[] copyQmCrcTable = { @@ -160,7 +160,7 @@ namespace DiscImageChef.ImagePlugins #endregion Internal Constants #region Internal variables - CopyQMHeader header; + CopyQmHeader header; byte[] decodedDisk; MemoryStream decodedImage; @@ -168,31 +168,31 @@ namespace DiscImageChef.ImagePlugins uint calculatedDataCrc; #endregion Internal variables - public CopyQM() + public CopyQm() { Name = "Sydex CopyQM"; - PluginUUID = new Guid("147E927D-3A92-4E0C-82CD-142F5A4FA76D"); + PluginUuid = new Guid("147E927D-3A92-4E0C-82CD-142F5A4FA76D"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } #region Public methods @@ -221,10 +221,10 @@ namespace DiscImageChef.ImagePlugins byte[] cmt; stream.Read(hdr, 0, 133); - header = new CopyQMHeader(); + header = new CopyQmHeader(); IntPtr hdrPtr = Marshal.AllocHGlobal(133); Marshal.Copy(hdr, 0, hdrPtr, 133); - header = (CopyQMHeader)Marshal.PtrToStructure(hdrPtr, typeof(CopyQMHeader)); + header = (CopyQmHeader)Marshal.PtrToStructure(hdrPtr, typeof(CopyQmHeader)); Marshal.FreeHGlobal(hdrPtr); DicConsole.DebugWriteLine("CopyQM plugin", "header.magic = 0x{0:X4}", header.magic); @@ -259,7 +259,7 @@ namespace DiscImageChef.ImagePlugins cmt = new byte[header.commentLength]; stream.Read(cmt, 0, header.commentLength); - ImageInfo.imageComments = StringHandlers.CToString(cmt); + ImageInfo.ImageComments = StringHandlers.CToString(cmt); decodedImage = new MemoryStream(); calculatedDataCrc = 0; @@ -324,100 +324,100 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("CopyQM plugin", "Calculated data CRC = 0x{0:X8}, {1}", calculatedDataCrc, calculatedDataCrc == header.crc); - ImageInfo.imageApplication = "CopyQM"; - ImageInfo.imageCreationTime = DateHandlers.DOSToDateTime(header.date, header.time); - ImageInfo.imageLastModificationTime = ImageInfo.imageCreationTime; - ImageInfo.imageName = header.volumeLabel; - ImageInfo.imageSize = (ulong)(stream.Length - 133 - header.commentLength); - ImageInfo.sectors = (ulong)sectors; - ImageInfo.sectorSize = header.sectorSize; + ImageInfo.ImageApplication = "CopyQM"; + ImageInfo.ImageCreationTime = DateHandlers.DOSToDateTime(header.date, header.time); + ImageInfo.ImageLastModificationTime = ImageInfo.ImageCreationTime; + ImageInfo.ImageName = header.volumeLabel; + ImageInfo.ImageSize = (ulong)(stream.Length - 133 - header.commentLength); + ImageInfo.Sectors = (ulong)sectors; + ImageInfo.SectorSize = header.sectorSize; switch(header.drive) { - case COPYQM_525HD: + case COPYQM_525_HD: if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 15 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_HD; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_HD; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 16 && - header.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_DS_DD; + header.sectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_DS_DD; else if(header.heads == 1 && header.totalCylinders == 80 && header.sectorsPerTrack == 16 && - header.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_DD_80; + header.sectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_DD_80; else if(header.heads == 1 && header.totalCylinders == 80 && header.sectorsPerTrack == 10 && - header.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_SD_80; + header.sectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_SD_80; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 8 && - header.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_525_HD; + header.sectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_525_HD; else if(header.heads == 2 && header.totalCylinders == 77 && header.sectorsPerTrack == 8 && - header.sectorSize == 1024) ImageInfo.mediaType = MediaType.SHARP_525; - else goto case COPYQM_525DD; + header.sectorSize == 1024) ImageInfo.MediaType = MediaType.SHARP_525; + else goto case COPYQM_525_DD; break; - case COPYQM_525DD: + case COPYQM_525_DD: if(header.heads == 1 && header.totalCylinders == 40 && header.sectorsPerTrack == 8 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; else if(header.heads == 1 && header.totalCylinders == 40 && header.sectorsPerTrack == 9 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; else if(header.heads == 2 && header.totalCylinders == 40 && header.sectorsPerTrack == 8 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; else if(header.heads == 2 && header.totalCylinders == 40 && header.sectorsPerTrack == 9 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; else if(header.heads == 1 && header.totalCylinders == 40 && header.sectorsPerTrack == 18 && - header.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_SD; + header.sectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_SD; else if(header.heads == 1 && header.totalCylinders == 40 && header.sectorsPerTrack == 26 && - header.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_ED; + header.sectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_ED; else if(header.heads == 1 && header.totalCylinders == 40 && header.sectorsPerTrack == 18 && - header.sectorSize == 256) ImageInfo.mediaType = MediaType.ATARI_525_DD; - else ImageInfo.mediaType = MediaType.Unknown; + header.sectorSize == 256) ImageInfo.MediaType = MediaType.ATARI_525_DD; + else ImageInfo.MediaType = MediaType.Unknown; break; - case COPYQM_35ED: + case COPYQM_35_ED: if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 36 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_ED; - else goto case COPYQM_35HD; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_ED; + else goto case COPYQM_35_HD; break; - case COPYQM_35HD: + case COPYQM_35_HD: if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 18 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_HD; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_HD; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 21 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DMF; else if(header.heads == 2 && header.totalCylinders == 82 && header.sectorsPerTrack == 21 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF_82; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DMF_82; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 8 && - header.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_35_HD_8; + header.sectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_35_HD_8; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 15 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.NEC_35_HD_15; - else goto case COPYQM_35DD; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.NEC_35_HD_15; + else goto case COPYQM_35_DD; break; - case COPYQM_35DD: + case COPYQM_35_DD: if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 9 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 8 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; else if(header.heads == 1 && header.totalCylinders == 80 && header.sectorsPerTrack == 9 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; else if(header.heads == 1 && header.totalCylinders == 80 && header.sectorsPerTrack == 8 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; else if(header.heads == 2 && header.totalCylinders == 80 && header.sectorsPerTrack == 5 && - header.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; + header.sectorSize == 1024) ImageInfo.MediaType = MediaType.ACORN_35_DS_DD; else if(header.heads == 2 && header.totalCylinders == 77 && header.sectorsPerTrack == 8 && - header.sectorSize == 1024) ImageInfo.mediaType = MediaType.SHARP_35; + header.sectorSize == 1024) ImageInfo.MediaType = MediaType.SHARP_35; else if(header.heads == 1 && header.totalCylinders == 70 && header.sectorsPerTrack == 9 && - header.sectorSize == 512) ImageInfo.mediaType = MediaType.Apricot_35; - else ImageInfo.mediaType = MediaType.Unknown; + header.sectorSize == 512) ImageInfo.MediaType = MediaType.Apricot_35; + else ImageInfo.MediaType = MediaType.Unknown; break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; decodedDisk = decodedImage.ToArray(); decodedImage.Close(); - DicConsole.VerboseWriteLine("CopyQM image contains a disk of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("CopyQM comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("CopyQM image contains a disk of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("CopyQM comments: {0}", ImageInfo.ImageComments); - ImageInfo.heads = header.heads; - ImageInfo.cylinders = header.imageCylinders; - ImageInfo.sectorsPerTrack = header.sectorsPerTrack; + ImageInfo.Heads = header.heads; + ImageInfo.Cylinders = header.imageCylinders; + ImageInfo.SectorsPerTrack = header.sectorsPerTrack; return true; } @@ -432,24 +432,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -461,22 +461,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -486,16 +486,16 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Array.Copy(decodedDisk, (int)sectorAddress * ImageInfo.sectorSize, buffer, 0, - length * ImageInfo.sectorSize); + Array.Copy(decodedDisk, (int)sectorAddress * ImageInfo.SectorSize, buffer, 0, + length * ImageInfo.SectorSize); return buffer; } @@ -507,97 +507,97 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } #endregion Public methods diff --git a/DiscImageChef.DiscImages/D88.cs b/DiscImageChef.DiscImages/D88.cs index a3e84a06a..ef364bdcc 100644 --- a/DiscImageChef.DiscImages/D88.cs +++ b/DiscImageChef.DiscImages/D88.cs @@ -41,7 +41,7 @@ using DiscImageChef.Console; using DiscImageChef.Decoders.Floppy; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // Information from Quasi88's FORMAT.TXT file // Japanese comments copied from there @@ -51,14 +51,14 @@ namespace DiscImageChef.ImagePlugins enum DiskType : byte { D2 = 0x00, - DD2 = 0x10, - HD2 = 0x20, + Dd2 = 0x10, + Hd2 = 0x20, } enum DensityType : byte { - MFM = 0x00, - FM = 0x40, + Mfm = 0x00, + Fm = 0x40, } /// <summary> @@ -81,7 +81,7 @@ namespace DiscImageChef.ImagePlugins /// CRC error in address fields /// ID CRC エラー /// </summary> - IDError = 0xA0, + IdError = 0xA0, /// <summary> /// CRC error in data block /// データ CRC エラー @@ -101,8 +101,8 @@ namespace DiscImageChef.ImagePlugins #endregion #region Internal constants - readonly byte[] ReservedEmpty = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - const byte ReadOnly = 0x10; + readonly byte[] reservedEmpty = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + const byte READ_ONLY = 0x10; #endregion #region Internal structures @@ -202,29 +202,29 @@ namespace DiscImageChef.ImagePlugins public D88() { Name = "D88 Disk Image"; - PluginUUID = new Guid("669EDC77-EC41-4720-A88C-49C38CFFBAA0"); + PluginUuid = new Guid("669EDC77-EC41-4720-A88C-49C38CFFBAA0"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -235,39 +235,39 @@ namespace DiscImageChef.ImagePlugins // Even if disk name is supposedly ASCII, I'm pretty sure most emulators allow Shift-JIS to be used :p Encoding shiftjis = Encoding.GetEncoding("shift_jis"); - D88Header d88hdr = new D88Header(); + D88Header d88Hdr = new D88Header(); - if(stream.Length < Marshal.SizeOf(d88hdr)) return false; + if(stream.Length < Marshal.SizeOf(d88Hdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(d88hdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(d88Hdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); - d88hdr = (D88Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(D88Header)); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); + d88Hdr = (D88Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(D88Header)); handle.Free(); DicConsole.DebugWriteLine("D88 plugin", "d88hdr.name = \"{0}\"", - StringHandlers.CToString(d88hdr.name, shiftjis)); + StringHandlers.CToString(d88Hdr.name, shiftjis)); DicConsole.DebugWriteLine("D88 plugin", "d88hdr.reserved is empty? = {0}", - d88hdr.reserved.SequenceEqual(ReservedEmpty)); - DicConsole.DebugWriteLine("D88 plugin", "d88hdr.write_protect = 0x{0:X2}", d88hdr.write_protect); - DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_type = {0} ({1})", d88hdr.disk_type, - (byte)d88hdr.disk_type); - DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_size = {0}", d88hdr.disk_size); + d88Hdr.reserved.SequenceEqual(reservedEmpty)); + DicConsole.DebugWriteLine("D88 plugin", "d88hdr.write_protect = 0x{0:X2}", d88Hdr.write_protect); + DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_type = {0} ({1})", d88Hdr.disk_type, + (byte)d88Hdr.disk_type); + DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_size = {0}", d88Hdr.disk_size); - if(d88hdr.disk_size != stream.Length) return false; + if(d88Hdr.disk_size != stream.Length) return false; - if(d88hdr.disk_type != DiskType.D2 && d88hdr.disk_type != DiskType.DD2 && - d88hdr.disk_type != DiskType.HD2) return false; + if(d88Hdr.disk_type != DiskType.D2 && d88Hdr.disk_type != DiskType.Dd2 && + d88Hdr.disk_type != DiskType.Hd2) return false; - if(!d88hdr.reserved.SequenceEqual(ReservedEmpty)) return false; + if(!d88Hdr.reserved.SequenceEqual(reservedEmpty)) return false; int counter = 0; - for(int i = 0; i < d88hdr.track_table.Length; i++) + for(int i = 0; i < d88Hdr.track_table.Length; i++) { - if(d88hdr.track_table[i] > 0) counter++; + if(d88Hdr.track_table[i] > 0) counter++; - if(d88hdr.track_table[i] < 0 || d88hdr.track_table[i] > stream.Length) return false; + if(d88Hdr.track_table[i] < 0 || d88Hdr.track_table[i] > stream.Length) return false; } DicConsole.DebugWriteLine("D88 plugin", "{0} tracks", counter); @@ -282,39 +282,39 @@ namespace DiscImageChef.ImagePlugins // Even if disk name is supposedly ASCII, I'm pretty sure most emulators allow Shift-JIS to be used :p Encoding shiftjis = Encoding.GetEncoding("shift_jis"); - D88Header d88hdr = new D88Header(); + D88Header d88Hdr = new D88Header(); - if(stream.Length < Marshal.SizeOf(d88hdr)) return false; + if(stream.Length < Marshal.SizeOf(d88Hdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(d88hdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(d88Hdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); - d88hdr = (D88Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(D88Header)); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); + d88Hdr = (D88Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(D88Header)); handle.Free(); DicConsole.DebugWriteLine("D88 plugin", "d88hdr.name = \"{0}\"", - StringHandlers.CToString(d88hdr.name, shiftjis)); + StringHandlers.CToString(d88Hdr.name, shiftjis)); DicConsole.DebugWriteLine("D88 plugin", "d88hdr.reserved is empty? = {0}", - d88hdr.reserved.SequenceEqual(ReservedEmpty)); - DicConsole.DebugWriteLine("D88 plugin", "d88hdr.write_protect = 0x{0:X2}", d88hdr.write_protect); - DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_type = {0} ({1})", d88hdr.disk_type, - (byte)d88hdr.disk_type); - DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_size = {0}", d88hdr.disk_size); + d88Hdr.reserved.SequenceEqual(reservedEmpty)); + DicConsole.DebugWriteLine("D88 plugin", "d88hdr.write_protect = 0x{0:X2}", d88Hdr.write_protect); + DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_type = {0} ({1})", d88Hdr.disk_type, + (byte)d88Hdr.disk_type); + DicConsole.DebugWriteLine("D88 plugin", "d88hdr.disk_size = {0}", d88Hdr.disk_size); - if(d88hdr.disk_size != stream.Length) return false; + if(d88Hdr.disk_size != stream.Length) return false; - if(d88hdr.disk_type != DiskType.D2 && d88hdr.disk_type != DiskType.DD2 && - d88hdr.disk_type != DiskType.HD2) return false; + if(d88Hdr.disk_type != DiskType.D2 && d88Hdr.disk_type != DiskType.Dd2 && + d88Hdr.disk_type != DiskType.Hd2) return false; - if(!d88hdr.reserved.SequenceEqual(ReservedEmpty)) return false; + if(!d88Hdr.reserved.SequenceEqual(reservedEmpty)) return false; int trkCounter = 0; - for(int i = 0; i < d88hdr.track_table.Length; i++) + for(int i = 0; i < d88Hdr.track_table.Length; i++) { - if(d88hdr.track_table[i] > 0) trkCounter++; + if(d88Hdr.track_table[i] > 0) trkCounter++; - if(d88hdr.track_table[i] < 0 || d88hdr.track_table[i] > stream.Length) return false; + if(d88Hdr.track_table[i] < 0 || d88Hdr.track_table[i] > stream.Length) return false; } DicConsole.DebugWriteLine("D88 plugin", "{0} tracks", trkCounter); @@ -322,11 +322,11 @@ namespace DiscImageChef.ImagePlugins if(trkCounter == 0) return false; SectorHeader sechdr = new SectorHeader(); - hdr_b = new byte[Marshal.SizeOf(sechdr)]; - stream.Seek(d88hdr.track_table[0], SeekOrigin.Begin); - stream.Read(hdr_b, 0, hdr_b.Length); + hdrB = new byte[Marshal.SizeOf(sechdr)]; + stream.Seek(d88Hdr.track_table[0], SeekOrigin.Begin); + stream.Read(hdrB, 0, hdrB.Length); - handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); + handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); sechdr = (SectorHeader)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(SectorHeader)); handle.Free(); @@ -347,11 +347,11 @@ namespace DiscImageChef.ImagePlugins for(int i = 0; i < trkCounter; i++) { - stream.Seek(d88hdr.track_table[i], SeekOrigin.Begin); - stream.Read(hdr_b, 0, hdr_b.Length); + stream.Seek(d88Hdr.track_table[i], SeekOrigin.Begin); + stream.Read(hdrB, 0, hdrB.Length); SortedDictionary<byte, byte[]> sectors = new SortedDictionary<byte, byte[]>(); - handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); + handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); sechdr = (SectorHeader)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(SectorHeader)); handle.Free(); @@ -364,15 +364,15 @@ namespace DiscImageChef.ImagePlugins } short maxJ = sechdr.spt; - byte[] sec_b; + byte[] secB; for(short j = 1; j < maxJ; j++) { - sec_b = new byte[sechdr.size_of_data]; - stream.Read(sec_b, 0, sec_b.Length); - sectors.Add(sechdr.r, sec_b); - stream.Read(hdr_b, 0, hdr_b.Length); + secB = new byte[sechdr.size_of_data]; + stream.Read(secB, 0, secB.Length); + sectors.Add(sechdr.r, secB); + stream.Read(hdrB, 0, hdrB.Length); - handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); + handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); sechdr = (SectorHeader)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(SectorHeader)); handle.Free(); @@ -385,9 +385,9 @@ namespace DiscImageChef.ImagePlugins } } - sec_b = new byte[sechdr.size_of_data]; - stream.Read(sec_b, 0, sec_b.Length); - sectors.Add(sechdr.r, sec_b); + secB = new byte[sechdr.size_of_data]; + stream.Read(secB, 0, secB.Length); + sectors.Add(sechdr.r, secB); foreach(KeyValuePair<byte, byte[]> kvp in sectors) sectorsData.Add(kvp.Value); } @@ -401,32 +401,32 @@ namespace DiscImageChef.ImagePlugins debugStream.Close(); */ - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; if(allEqual) { if(trkCounter == 154 && spt == 26 && bps == IBMSectorSizeCode.EighthKilo) - ImageInfo.mediaType = MediaType.NEC_8_SD; + ImageInfo.MediaType = MediaType.NEC_8_SD; else if(bps == IBMSectorSizeCode.QuarterKilo) { - if(trkCounter == 80 && spt == 16) ImageInfo.mediaType = MediaType.NEC_525_SS; - else if(trkCounter == 154 && spt == 26) ImageInfo.mediaType = MediaType.NEC_8_DD; - else if(trkCounter == 160 && spt == 16) ImageInfo.mediaType = MediaType.NEC_525_DS; + if(trkCounter == 80 && spt == 16) ImageInfo.MediaType = MediaType.NEC_525_SS; + else if(trkCounter == 154 && spt == 26) ImageInfo.MediaType = MediaType.NEC_8_DD; + else if(trkCounter == 160 && spt == 16) ImageInfo.MediaType = MediaType.NEC_525_DS; } else if(trkCounter == 154 && spt == 8 && bps == IBMSectorSizeCode.Kilo) - ImageInfo.mediaType = MediaType.NEC_525_HD; + ImageInfo.MediaType = MediaType.NEC_525_HD; else if(bps == IBMSectorSizeCode.HalfKilo) { - switch(d88hdr.track_table.Length) + switch(d88Hdr.track_table.Length) { case 40: { switch(spt) { case 8: - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; break; case 9: - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; break; } } @@ -437,10 +437,10 @@ namespace DiscImageChef.ImagePlugins switch(spt) { case 8: - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; break; case 9: - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; break; } } @@ -451,106 +451,106 @@ namespace DiscImageChef.ImagePlugins switch(spt) { case 15: - ImageInfo.mediaType = MediaType.NEC_35_HD_15; + ImageInfo.MediaType = MediaType.NEC_35_HD_15; break; case 9: - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; break; case 18: - ImageInfo.mediaType = MediaType.DOS_35_HD; + ImageInfo.MediaType = MediaType.DOS_35_HD; break; case 36: - ImageInfo.mediaType = MediaType.DOS_35_ED; + ImageInfo.MediaType = MediaType.DOS_35_ED; break; } } break; case 480: - if(spt == 38) ImageInfo.mediaType = MediaType.NEC_35_TD; + if(spt == 38) ImageInfo.MediaType = MediaType.NEC_35_TD; break; } } } - DicConsole.DebugWriteLine("D88 plugin", "MediaType: {0}", ImageInfo.mediaType); + DicConsole.DebugWriteLine("D88 plugin", "MediaType: {0}", ImageInfo.MediaType); - ImageInfo.imageSize = (ulong)d88hdr.disk_size; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = (ulong)sectorsData.Count; - ImageInfo.imageComments = StringHandlers.CToString(d88hdr.name, shiftjis); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = (uint)(128 << (int)bps); + ImageInfo.ImageSize = (ulong)d88Hdr.disk_size; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = (ulong)sectorsData.Count; + ImageInfo.ImageComments = StringHandlers.CToString(d88Hdr.name, shiftjis); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = (uint)(128 << (int)bps); - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.NEC_525_SS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.NEC_8_SD: case MediaType.NEC_8_DD: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.NEC_525_DS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.NEC_525_HD: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.DOS_525_SS_DD_8: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.DOS_525_SS_DD_9: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_525_DS_DD_8: - ImageInfo.cylinders = 40; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.DOS_525_DS_DD_9: - ImageInfo.cylinders = 40; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.NEC_35_HD_15: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.DOS_35_DS_DD_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_35_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 18; break; case MediaType.DOS_35_ED: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 36; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 36; break; case MediaType.NEC_35_TD: - ImageInfo.cylinders = 240; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 38; + ImageInfo.Cylinders = 240; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 38; break; } @@ -564,17 +564,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -584,47 +584,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -634,10 +634,10 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); @@ -788,18 +788,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/DART.cs b/DiscImageChef.DiscImages/DART.cs index dc4506ae8..0a001152e 100644 --- a/DiscImageChef.DiscImages/DART.cs +++ b/DiscImageChef.DiscImages/DART.cs @@ -40,53 +40,53 @@ using Claunia.RsrcFork; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.DiscImages { - public class DART : ImagePlugin + public class Dart : ImagePlugin { #region Internal constants // Disk types - const byte kMacDisk = 1; - const byte kLisaDisk = 2; - const byte kAppleIIDisk = 3; - const byte kMacHiDDisk = 16; - const byte kMSDOSLowDDisk = 17; - const byte kMSDOSHiDDisk = 18; + const byte DISK_MAC = 1; + const byte DISK_LISA = 2; + const byte DISK_APPLE2 = 3; + const byte DISK_MAC_HD = 16; + const byte DISK_DOS = 17; + const byte DISK_DOS_HD = 18; // Compression types // "fast" - const byte kRLECompress = 0; + const byte COMPRESS_RLE = 0; // "best" - const byte kLZHCompress = 1; + const byte COMPRESS_LZH = 1; // DART <= 1.4 - const byte kNoCompress = 2; + const byte COMPRESS_NONE = 2; // Valid sizes - const short kLisa400KSize = 400; - const short kMac400KSize = 400; - const short kMac800KSize = 800; - const short kMac1440KSize = 1440; - const short kApple800KSize = 800; - const short kMSDOS720KSize = 720; - const short kMSDOS1440KSize = 1440; + const short SIZE_LISA = 400; + const short SIZE_MAC_SS = 400; + const short SIZE_MAC = 800; + const short SIZE_MAC_HD = 1440; + const short SIZE_APPLE2 = 800; + const short SIZE_DOS = 720; + const short SIZE_DOS_HD = 1440; // bLength array sizes - const int blockArrayLenLow = 40; - const int blockArrayLenHigh = 72; + const int BLOCK_ARRAY_LEN_LOW = 40; + const int BLOCK_ARRAY_LEN_HIGH = 72; - const int sectorsPerBlock = 40; - const int sectorSize = 512; - const int tagSectorSize = 12; - const int dataSize = sectorsPerBlock * sectorSize; - const int tagSize = sectorsPerBlock * tagSectorSize; - const int bufferSize = (sectorsPerBlock * sectorSize) + (sectorsPerBlock * tagSectorSize); + const int SECTORS_PER_BLOCK = 40; + const int SECTOR_SIZE = 512; + const int TAG_SECTOR_SIZE = 12; + const int DATA_SIZE = SECTORS_PER_BLOCK * SECTOR_SIZE; + const int TAG_SIZE = SECTORS_PER_BLOCK * TAG_SECTOR_SIZE; + const int BUFFER_SIZE = (SECTORS_PER_BLOCK * SECTOR_SIZE) + (SECTORS_PER_BLOCK * TAG_SECTOR_SIZE); #endregion #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct DART_Header + struct DartHeader { public byte srcCmp; public byte srcType; @@ -100,31 +100,31 @@ namespace DiscImageChef.DiscImages uint dataChecksum; uint tagChecksum; - public DART() + public Dart() { Name = "Apple Disk Archival/Retrieval Tool"; - PluginUUID = new Guid("B3E06BF8-F98D-4F9B-BBE2-342C373BAF3E"); + PluginUuid = new Guid("B3E06BF8-F98D-4F9B-BBE2-342C373BAF3E"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -133,42 +133,42 @@ namespace DiscImageChef.DiscImages if(stream.Length < 84) return false; - DART_Header header = new DART_Header(); + DartHeader header = new DartHeader(); stream.Seek(0, SeekOrigin.Begin); - byte[] header_b = new byte[Marshal.SizeOf(header)]; + byte[] headerB = new byte[Marshal.SizeOf(header)]; - stream.Read(header_b, 0, Marshal.SizeOf(header)); - header = BigEndianMarshal.ByteArrayToStructureBigEndian<DART_Header>(header_b); + stream.Read(headerB, 0, Marshal.SizeOf(header)); + header = BigEndianMarshal.ByteArrayToStructureBigEndian<DartHeader>(headerB); - if(header.srcCmp > kNoCompress) return false; + if(header.srcCmp > COMPRESS_NONE) return false; int expectedMaxSize = 84 + (header.srcSize * 2 * 524); switch(header.srcType) { - case kMacDisk: - if(header.srcSize != kMac400KSize && header.srcSize != kMac800KSize) return false; + case DISK_MAC: + if(header.srcSize != SIZE_MAC_SS && header.srcSize != SIZE_MAC) return false; break; - case kLisaDisk: - if(header.srcSize != kLisa400KSize) return false; + case DISK_LISA: + if(header.srcSize != SIZE_LISA) return false; break; - case kAppleIIDisk: - if(header.srcSize != kApple800KSize) return false; + case DISK_APPLE2: + if(header.srcSize != SIZE_APPLE2) return false; break; - case kMacHiDDisk: - if(header.srcSize != kMac1440KSize) return false; + case DISK_MAC_HD: + if(header.srcSize != SIZE_MAC_HD) return false; expectedMaxSize += 64; break; - case kMSDOSLowDDisk: - if(header.srcSize != kMSDOS720KSize) return false; + case DISK_DOS: + if(header.srcSize != SIZE_DOS) return false; break; - case kMSDOSHiDDisk: - if(header.srcSize != kMSDOS1440KSize) return false; + case DISK_DOS_HD: + if(header.srcSize != SIZE_DOS_HD) return false; expectedMaxSize += 64; break; @@ -186,42 +186,42 @@ namespace DiscImageChef.DiscImages if(stream.Length < 84) return false; - DART_Header header = new DART_Header(); + DartHeader header = new DartHeader(); stream.Seek(0, SeekOrigin.Begin); - byte[] header_b = new byte[Marshal.SizeOf(header)]; + byte[] headerB = new byte[Marshal.SizeOf(header)]; - stream.Read(header_b, 0, Marshal.SizeOf(header)); - header = BigEndianMarshal.ByteArrayToStructureBigEndian<DART_Header>(header_b); + stream.Read(headerB, 0, Marshal.SizeOf(header)); + header = BigEndianMarshal.ByteArrayToStructureBigEndian<DartHeader>(headerB); - if(header.srcCmp > kNoCompress) return false; + if(header.srcCmp > COMPRESS_NONE) return false; int expectedMaxSize = 84 + (header.srcSize * 2 * 524); switch(header.srcType) { - case kMacDisk: - if(header.srcSize != kMac400KSize && header.srcSize != kMac800KSize) return false; + case DISK_MAC: + if(header.srcSize != SIZE_MAC_SS && header.srcSize != SIZE_MAC) return false; break; - case kLisaDisk: - if(header.srcSize != kLisa400KSize) return false; + case DISK_LISA: + if(header.srcSize != SIZE_LISA) return false; break; - case kAppleIIDisk: - if(header.srcSize != kAppleIIDisk) return false; + case DISK_APPLE2: + if(header.srcSize != DISK_APPLE2) return false; break; - case kMacHiDDisk: - if(header.srcSize != kMac1440KSize) return false; + case DISK_MAC_HD: + if(header.srcSize != SIZE_MAC_HD) return false; expectedMaxSize += 64; break; - case kMSDOSLowDDisk: - if(header.srcSize != kMSDOS720KSize) return false; + case DISK_DOS: + if(header.srcSize != SIZE_DOS) return false; break; - case kMSDOSHiDDisk: - if(header.srcSize != kMSDOS1440KSize) return false; + case DISK_DOS_HD: + if(header.srcSize != SIZE_DOS_HD) return false; expectedMaxSize += 64; break; @@ -232,8 +232,8 @@ namespace DiscImageChef.DiscImages short[] bLength; - if(header.srcType == kMacHiDDisk || header.srcType == kMSDOSHiDDisk) bLength = new short[blockArrayLenHigh]; - else bLength = new short[blockArrayLenLow]; + if(header.srcType == DISK_MAC_HD || header.srcType == DISK_DOS_HD) bLength = new short[BLOCK_ARRAY_LEN_HIGH]; + else bLength = new short[BLOCK_ARRAY_LEN_LOW]; byte[] tmpShort; for(int i = 0; i < bLength.Length; i++) @@ -253,14 +253,14 @@ namespace DiscImageChef.DiscImages { if(bLength[i] != 0) { - buffer = new byte[bufferSize]; + buffer = new byte[BUFFER_SIZE]; if(bLength[i] == -1) { - stream.Read(buffer, 0, bufferSize); - dataMs.Write(buffer, 0, dataSize); - tagMs.Write(buffer, dataSize, tagSize); + stream.Read(buffer, 0, BUFFER_SIZE); + dataMs.Write(buffer, 0, DATA_SIZE); + tagMs.Write(buffer, DATA_SIZE, TAG_SIZE); } - else if(header.srcCmp == kRLECompress) + else if(header.srcCmp == COMPRESS_RLE) { temp = new byte[bLength[i] * 2]; stream.Read(temp, 0, temp.Length); @@ -276,9 +276,9 @@ namespace DiscImageChef.DiscImages } dataCache = dataMs.ToArray(); - if(header.srcType == kLisaDisk || header.srcType == kMacDisk || header.srcType == kAppleIIDisk) + if(header.srcType == DISK_LISA || header.srcType == DISK_MAC || header.srcType == DISK_APPLE2) { - ImageInfo.readableSectorTags.Add(SectorTagType.AppleSectorTag); + ImageInfo.ReadableSectorTags.Add(SectorTagType.AppleSectorTag); tagCache = tagMs.ToArray(); } @@ -326,10 +326,10 @@ namespace DiscImageChef.DiscImages if(dev != null) pre = string.Format("{0}", version.PreReleaseVersion); - ImageInfo.imageApplicationVersion = + ImageInfo.ImageApplicationVersion = string.Format("{0}{1}{2}{3}{4}", major, minor, release, dev, pre); - ImageInfo.imageApplication = version.VersionString; - ImageInfo.imageComments = version.VersionMessage; + ImageInfo.ImageApplication = version.VersionString; + ImageInfo.ImageComments = version.VersionMessage; } } } @@ -349,8 +349,8 @@ namespace DiscImageChef.DiscImages if(dArtMatch.Success) { - ImageInfo.imageApplication = "DART"; - ImageInfo.imageApplicationVersion = dArtMatch.Groups["version"].Value; + ImageInfo.ImageApplication = "DART"; + ImageInfo.ImageApplicationVersion = dArtMatch.Groups["version"].Value; dataChecksum = Convert.ToUInt32(dArtMatch.Groups["datachk"].Value, 16); tagChecksum = Convert.ToUInt32(dArtMatch.Groups["tagchk"].Value, 16); } @@ -379,44 +379,44 @@ namespace DiscImageChef.DiscImages } catch(InvalidCastException) { } - DicConsole.DebugWriteLine("DART plugin", "Image application = {0} version {1}", ImageInfo.imageApplication, - ImageInfo.imageApplicationVersion); + DicConsole.DebugWriteLine("DART plugin", "Image application = {0} version {1}", ImageInfo.ImageApplication, + ImageInfo.ImageApplicationVersion); - ImageInfo.sectors = (ulong)(header.srcSize * 2); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectorSize = sectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.imageSize = ImageInfo.sectors * sectorSize; - if(header.srcCmp == kNoCompress) ImageInfo.imageVersion = "1.4"; - else ImageInfo.imageVersion = "1.5"; + ImageInfo.Sectors = (ulong)(header.srcSize * 2); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.SectorSize = SECTOR_SIZE; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.ImageSize = ImageInfo.Sectors * SECTOR_SIZE; + if(header.srcCmp == COMPRESS_NONE) ImageInfo.ImageVersion = "1.4"; + else ImageInfo.ImageVersion = "1.5"; switch(header.srcSize) { - case kMac400KSize: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 10; - ImageInfo.mediaType = MediaType.AppleSonySS; + case SIZE_MAC_SS: + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 10; + ImageInfo.MediaType = MediaType.AppleSonySS; break; - case kMac800KSize: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; - ImageInfo.mediaType = MediaType.AppleSonyDS; + case SIZE_MAC: + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; + ImageInfo.MediaType = MediaType.AppleSonyDS; break; - case kMSDOS720KSize: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + case SIZE_DOS: + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; break; - case kMac1440KSize: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 18; - ImageInfo.mediaType = MediaType.DOS_35_HD; + case SIZE_MAC_HD: + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 18; + ImageInfo.MediaType = MediaType.DOS_35_HD; break; } @@ -435,15 +435,15 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Array.Copy(dataCache, (int)sectorAddress * ImageInfo.sectorSize, buffer, 0, length * ImageInfo.sectorSize); + Array.Copy(dataCache, (int)sectorAddress * ImageInfo.SectorSize, buffer, 0, length * ImageInfo.SectorSize); return buffer; } @@ -456,15 +456,15 @@ namespace DiscImageChef.DiscImages if(tagCache == null || tagCache.Length == 0) throw new FeatureNotPresentImageException("Disk image does not have tags"); - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * tagSectorSize]; + byte[] buffer = new byte[length * TAG_SECTOR_SIZE]; - Array.Copy(tagCache, (int)sectorAddress * tagSectorSize, buffer, 0, length * tagSectorSize); + Array.Copy(tagCache, (int)sectorAddress * TAG_SECTOR_SIZE, buffer, 0, length * TAG_SECTOR_SIZE); return buffer; } @@ -476,10 +476,10 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectorsLong(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); byte[] data = ReadSectors(sectorAddress, length); @@ -488,10 +488,10 @@ namespace DiscImageChef.DiscImages for(uint i = 0; i < length; i++) { - Array.Copy(data, i * (ImageInfo.sectorSize), buffer, i * (ImageInfo.sectorSize + tagSectorSize), - ImageInfo.sectorSize); - Array.Copy(tags, i * (tagSectorSize), buffer, - i * (ImageInfo.sectorSize + tagSectorSize) + ImageInfo.sectorSize, tagSectorSize); + Array.Copy(data, i * (ImageInfo.SectorSize), buffer, i * (ImageInfo.SectorSize + TAG_SECTOR_SIZE), + ImageInfo.SectorSize); + Array.Copy(tags, i * (TAG_SECTOR_SIZE), buffer, + i * (ImageInfo.SectorSize + TAG_SECTOR_SIZE) + ImageInfo.SectorSize, TAG_SECTOR_SIZE); } return buffer; @@ -504,17 +504,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -524,47 +524,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -688,18 +688,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/DIM.cs b/DiscImageChef.DiscImages/DIM.cs index ef0a3838e..dfed6543c 100644 --- a/DiscImageChef.DiscImages/DIM.cs +++ b/DiscImageChef.DiscImages/DIM.cs @@ -39,29 +39,29 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class DIM : ImagePlugin + public class Dim : ImagePlugin { #region Internal enumerations enum DiskType : byte { - HD2 = 0, - HS2 = 1, - HC2 = 2, - HDE2 = 3, - HQ2 = 9, + Hd2 = 0, + Hs2 = 1, + Hc2 = 2, + Hde2 = 3, + Hq2 = 9, N88 = 17 } #endregion #region Internal constants - readonly byte[] HeaderID = {0x44, 0x49, 0x46, 0x43, 0x20, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20, 0x20}; + readonly byte[] headerId = {0x44, 0x49, 0x46, 0x43, 0x20, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x20, 0x20}; #endregion #region Internal variables /// <summary>Start of data sectors in disk image, should be 0x100</summary> - const uint dataOffset = 0x100; + const uint DATA_OFFSET = 0x100; /// <summary>Disk image file</summary> Filter dimImageFilter; byte[] comment; @@ -69,31 +69,31 @@ namespace DiscImageChef.ImagePlugins DiskType dskType; #endregion - public DIM() + public Dim() { Name = "DIM Disk Image"; - PluginUUID = new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); + PluginUuid = new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -101,7 +101,7 @@ namespace DiscImageChef.ImagePlugins Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); - if(stream.Length < dataOffset) return false; + if(stream.Length < DATA_OFFSET) return false; comment = new byte[60]; hdrId = new byte[13]; @@ -112,7 +112,7 @@ namespace DiscImageChef.ImagePlugins stream.Seek(0xC2, SeekOrigin.Begin); stream.Read(comment, 0, 60); - return HeaderID.SequenceEqual(hdrId); + return headerId.SequenceEqual(hdrId); } public override bool OpenImage(Filter imageFilter) @@ -120,9 +120,9 @@ namespace DiscImageChef.ImagePlugins Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); - if(stream.Length < dataOffset) return false; + if(stream.Length < DATA_OFFSET) return false; - long diskSize = stream.Length - dataOffset; + long diskSize = stream.Length - DATA_OFFSET; comment = new byte[60]; hdrId = new byte[13]; @@ -133,78 +133,78 @@ namespace DiscImageChef.ImagePlugins stream.Seek(0xC2, SeekOrigin.Begin); stream.Read(comment, 0, 60); - if(!HeaderID.SequenceEqual(hdrId)) return false; + if(!headerId.SequenceEqual(hdrId)) return false; - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; switch(dskType) { // 8 spt, 1024 bps - case DiskType.HD2: + case DiskType.Hd2: if(diskSize % (2 * 8 * 1024) != 0) { DicConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 8 * 1024)); return false; } - if(diskSize / (2 * 8 * 1024) == 77) ImageInfo.mediaType = MediaType.SHARP_525; - ImageInfo.sectorSize = 1024; + if(diskSize / (2 * 8 * 1024) == 77) ImageInfo.MediaType = MediaType.SHARP_525; + ImageInfo.SectorSize = 1024; break; // 9 spt, 1024 bps - case DiskType.HS2: + case DiskType.Hs2: if(diskSize % (2 * 9 * 512) != 0) { DicConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 9 * 512)); return false; } - if(diskSize / (2 * 9 * 512) == 80) ImageInfo.mediaType = MediaType.SHARP_525_9; - ImageInfo.sectorSize = 512; + if(diskSize / (2 * 9 * 512) == 80) ImageInfo.MediaType = MediaType.SHARP_525_9; + ImageInfo.SectorSize = 512; break; // 15 spt, 512 bps - case DiskType.HC2: + case DiskType.Hc2: if(diskSize % (2 * 15 * 512) != 0) { DicConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 15 * 512)); return false; } - if(diskSize / (2 * 15 * 512) == 80) ImageInfo.mediaType = MediaType.DOS_525_HD; - ImageInfo.sectorSize = 512; + if(diskSize / (2 * 15 * 512) == 80) ImageInfo.MediaType = MediaType.DOS_525_HD; + ImageInfo.SectorSize = 512; break; // 9 spt, 1024 bps - case DiskType.HDE2: + case DiskType.Hde2: if(diskSize % (2 * 9 * 512) != 0) { DicConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 9 * 512)); return false; } - if(diskSize / (2 * 9 * 512) == 80) ImageInfo.mediaType = MediaType.SHARP_35_9; - ImageInfo.sectorSize = 512; + if(diskSize / (2 * 9 * 512) == 80) ImageInfo.MediaType = MediaType.SHARP_35_9; + ImageInfo.SectorSize = 512; break; // 18 spt, 512 bps - case DiskType.HQ2: + case DiskType.Hq2: if(diskSize % (2 * 18 * 512) != 0) { DicConsole.ErrorWriteLine("DIM shows unknown image with {0} tracks", diskSize / (2 * 18 * 512)); return false; } - if(diskSize / (2 * 18 * 512) == 80) ImageInfo.mediaType = MediaType.DOS_35_HD; - ImageInfo.sectorSize = 512; + if(diskSize / (2 * 18 * 512) == 80) ImageInfo.MediaType = MediaType.DOS_35_HD; + ImageInfo.SectorSize = 512; break; // 26 spt, 256 bps case DiskType.N88: if(diskSize % (2 * 26 * 256) == 0) { - if(diskSize % (2 * 26 * 256) == 77) ImageInfo.mediaType = MediaType.NEC_8_DD; - ImageInfo.sectorSize = 256; + if(diskSize % (2 * 26 * 256) == 77) ImageInfo.MediaType = MediaType.NEC_8_DD; + ImageInfo.SectorSize = 256; } else if(diskSize % (2 * 26 * 128) == 0) { - if(diskSize % (2 * 26 * 128) == 77) ImageInfo.mediaType = MediaType.NEC_8_SD; - ImageInfo.sectorSize = 256; + if(diskSize % (2 * 26 * 128) == 77) ImageInfo.MediaType = MediaType.NEC_8_SD; + ImageInfo.SectorSize = 256; } else { @@ -216,52 +216,52 @@ namespace DiscImageChef.ImagePlugins default: return false; } - DicConsole.VerboseWriteLine("DIM image contains a disk of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("DIM comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("DIM image contains a disk of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("DIM comments: {0}", ImageInfo.ImageComments); dimImageFilter = imageFilter; - ImageInfo.imageSize = (ulong)diskSize; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize; - ImageInfo.imageComments = StringHandlers.CToString(comment, Encoding.GetEncoding(932)); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.ImageSize = (ulong)diskSize; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = ImageInfo.ImageSize / ImageInfo.SectorSize; + ImageInfo.ImageComments = StringHandlers.CToString(comment, Encoding.GetEncoding(932)); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.SHARP_525: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.SHARP_525_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_525_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.SHARP_35_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_35_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 18; break; case MediaType.NEC_8_DD: case MediaType.NEC_8_SD: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 26; break; } @@ -275,17 +275,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -295,47 +295,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -345,19 +345,19 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = dimImageFilter.GetDataForkStream(); - stream.Seek((long)(dataOffset + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)(DATA_OFFSET + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -503,18 +503,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/DiscFerret.cs b/DiscImageChef.DiscImages/DiscFerret.cs index 1c7f5d9a4..e9e5eb942 100644 --- a/DiscImageChef.DiscImages/DiscFerret.cs +++ b/DiscImageChef.DiscImages/DiscFerret.cs @@ -38,7 +38,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class DiscFerret : ImagePlugin { @@ -57,70 +57,70 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "DFER" /// </summary> - const uint DfiMagic = 0x52454644; + const uint DFI_MAGIC = 0x52454644; /// <summary> /// "DFE2" /// </summary> - const uint DfiMagic2 = 0x32454644; + const uint DFI_MAGIC2 = 0x32454644; #endregion Internal Constants #region Internal variables // TODO: These variables have been made public so create-sidecar can access to this information until I define an API >4.0 - public SortedDictionary<int, long> trackOffsets; - public SortedDictionary<int, long> trackLengths; + public SortedDictionary<int, long> TrackOffsets; + public SortedDictionary<int, long> TrackLengths; #endregion Internal variables public DiscFerret() { Name = "DiscFerret"; - PluginUUID = new Guid("70EA7B9B-5323-42EB-9B40-8DDA37C5EB4D"); + PluginUuid = new Guid("70EA7B9B-5323-42EB-9B40-8DDA37C5EB4D"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } #region Public methods public override bool IdentifyImage(Filter imageFilter) { - byte[] magic_b = new byte[4]; + byte[] magicB = new byte[4]; Stream stream = imageFilter.GetDataForkStream(); - stream.Read(magic_b, 0, 4); - uint magic = BitConverter.ToUInt32(magic_b, 0); + stream.Read(magicB, 0, 4); + uint magic = BitConverter.ToUInt32(magicB, 0); - return magic == DfiMagic || magic == DfiMagic2; + return magic == DFI_MAGIC || magic == DFI_MAGIC2; } public override bool OpenImage(Filter imageFilter) { - byte[] magic_b = new byte[4]; + byte[] magicB = new byte[4]; Stream stream = imageFilter.GetDataForkStream(); - stream.Read(magic_b, 0, 4); - uint magic = BitConverter.ToUInt32(magic_b, 0); + stream.Read(magicB, 0, 4); + uint magic = BitConverter.ToUInt32(magicB, 0); - if(magic != DfiMagic && magic != DfiMagic2) return false; + if(magic != DFI_MAGIC && magic != DFI_MAGIC2) return false; - trackOffsets = new SortedDictionary<int, long>(); - trackLengths = new SortedDictionary<int, long>(); + TrackOffsets = new SortedDictionary<int, long>(); + TrackLengths = new SortedDictionary<int, long>(); int t = -1; ushort lastCylinder = 0, lastHead = 0; bool endOfTrack = false; @@ -155,52 +155,52 @@ namespace DiscImageChef.ImagePlugins { lastCylinder = blockHeader.cylinder; lastHead = 0; - trackOffsets.Add(t, offset); - trackLengths.Add(t, thisOffset - offset + 1); + TrackOffsets.Add(t, offset); + TrackLengths.Add(t, thisOffset - offset + 1); offset = thisOffset; t++; } else if(blockHeader.head > 0 && blockHeader.head > lastHead) { lastHead = blockHeader.head; - trackOffsets.Add(t, offset); - trackLengths.Add(t, thisOffset - offset + 1); + TrackOffsets.Add(t, offset); + TrackLengths.Add(t, thisOffset - offset + 1); offset = thisOffset; t++; } - if(blockHeader.cylinder > ImageInfo.cylinders) ImageInfo.cylinders = blockHeader.cylinder; - if(blockHeader.head > ImageInfo.heads) ImageInfo.heads = blockHeader.head; + if(blockHeader.cylinder > ImageInfo.Cylinders) ImageInfo.Cylinders = blockHeader.cylinder; + if(blockHeader.head > ImageInfo.Heads) ImageInfo.Heads = blockHeader.head; } - ImageInfo.heads++; - ImageInfo.cylinders++; + ImageInfo.Heads++; + ImageInfo.Cylinders++; - ImageInfo.imageApplication = "DiscFerret"; - if(magic == DfiMagic2) ImageInfo.imageApplicationVersion = "2.0"; - else ImageInfo.imageApplicationVersion = "1.0"; + ImageInfo.ImageApplication = "DiscFerret"; + if(magic == DFI_MAGIC2) ImageInfo.ImageApplicationVersion = "2.0"; + else ImageInfo.ImageApplicationVersion = "1.0"; throw new NotImplementedException("Flux decoding is not yet implemented."); } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -250,97 +250,97 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override bool? VerifySector(ulong sectorAddress) @@ -348,8 +348,8 @@ namespace DiscImageChef.ImagePlugins throw new NotImplementedException("Flux decoding is not yet implemented."); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new NotImplementedException("Flux decoding is not yet implemented."); } @@ -411,8 +411,8 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/DiscJuggler.cs b/DiscImageChef.DiscImages/DiscJuggler.cs index 86f61cc7c..7a545e985 100644 --- a/DiscImageChef.DiscImages/DiscJuggler.cs +++ b/DiscImageChef.DiscImages/DiscJuggler.cs @@ -37,7 +37,7 @@ using System.Text; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.DiscImages { @@ -55,25 +55,25 @@ namespace DiscImageChef.DiscImages public DiscJuggler() { Name = "DiscJuggler"; - PluginUUID = new Guid("2444DBC6-CD35-424C-A227-39B0C4DB01B2"); + PluginUuid = new Guid("2444DBC6-CD35-424C-A227-39B0C4DB01B2"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -81,9 +81,9 @@ namespace DiscImageChef.DiscImages imageStream = imageFilter.GetDataForkStream(); imageStream.Seek(-4, SeekOrigin.End); - byte[] dscLen_b = new byte[4]; - imageStream.Read(dscLen_b, 0, 4); - int dscLen = BitConverter.ToInt32(dscLen_b, 0); + byte[] dscLenB = new byte[4]; + imageStream.Read(dscLenB, 0, 4); + int dscLen = BitConverter.ToInt32(dscLenB, 0); DicConsole.DebugWriteLine("DiscJuggler plugin", "dscLen = {0}", dscLen); @@ -113,9 +113,9 @@ namespace DiscImageChef.DiscImages imageStream = imageFilter.GetDataForkStream(); imageStream.Seek(-4, SeekOrigin.End); - byte[] dscLen_b = new byte[4]; - imageStream.Read(dscLen_b, 0, 4); - int dscLen = BitConverter.ToInt32(dscLen_b, 0); + byte[] dscLenB = new byte[4]; + imageStream.Read(dscLenB, 0, 4); + int dscLen = BitConverter.ToInt32(dscLenB, 0); if(dscLen >= imageStream.Length) return false; @@ -180,11 +180,11 @@ namespace DiscImageChef.DiscImages // Skip unknown position += 16; - byte[] trackFilename_b = new byte[descriptor[position]]; + byte[] trackFilenameB = new byte[descriptor[position]]; position++; - Array.Copy(descriptor, position, trackFilename_b, 0, trackFilename_b.Length); - position += trackFilename_b.Length; - track.TrackFile = Path.GetFileName(Encoding.Default.GetString(trackFilename_b)); + Array.Copy(descriptor, position, trackFilenameB, 0, trackFilenameB.Length); + position += trackFilenameB.Length; + track.TrackFile = Path.GetFileName(Encoding.Default.GetString(trackFilenameB)); DicConsole.DebugWriteLine("DiscJuggler plugin", "\tfilename = {0}", track.TrackFile); // Skip unknown @@ -287,8 +287,8 @@ namespace DiscImageChef.DiscImages Array.Copy(descriptor, position, isrc, 0, 12); DicConsole.DebugWriteLine("DiscJuggler plugin", "\tisrc = {0}", StringHandlers.CToString(isrc)); position += 12; - uint isrc_valid = BitConverter.ToUInt32(descriptor, position); - DicConsole.DebugWriteLine("DiscJuggler plugin", "\tisrc_valid = {0}", isrc_valid); + uint isrcValid = BitConverter.ToUInt32(descriptor, position); + DicConsole.DebugWriteLine("DiscJuggler plugin", "\tisrc_valid = {0}", isrcValid); position += 4; // Skip unknown @@ -318,7 +318,7 @@ namespace DiscImageChef.DiscImages { // Audio case 0: - if(ImageInfo.sectorSize < 2352) ImageInfo.sectorSize = 2352; + if(ImageInfo.SectorSize < 2352) ImageInfo.SectorSize = 2352; track.TrackType = TrackType.Audio; track.TrackBytesPerSector = 2352; track.TrackRawBytesPerSector = 2352; @@ -353,8 +353,8 @@ namespace DiscImageChef.DiscImages break; // Mode 1 or DVD case 1: - if(ImageInfo.sectorSize < 2048) ImageInfo.sectorSize = 2048; - track.TrackType = TrackType.CDMode1; + if(ImageInfo.SectorSize < 2048) ImageInfo.SectorSize = 2048; + track.TrackType = TrackType.CdMode1; track.TrackBytesPerSector = 2048; switch(readMode) { @@ -371,18 +371,18 @@ namespace DiscImageChef.DiscImages case 2: track.TrackRawBytesPerSector = 2352; currentOffset += trackLen * (ulong)track.TrackRawBytesPerSector; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; case 3: track.TrackRawBytesPerSector = 2352; @@ -392,18 +392,18 @@ namespace DiscImageChef.DiscImages track.TrackSubchannelOffset = currentOffset; track.TrackSubchannelType = TrackSubchannelType.Q16Interleaved; currentOffset += trackLen * (ulong)(track.TrackRawBytesPerSector + 16); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; case 4: track.TrackRawBytesPerSector = 2352; @@ -413,18 +413,18 @@ namespace DiscImageChef.DiscImages track.TrackSubchannelOffset = currentOffset; track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; currentOffset += trackLen * (ulong)(track.TrackRawBytesPerSector + 96); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_P)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorECC_Q)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorEDC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEcc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccP)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEccQ)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorEdc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); break; default: throw new ImageNotSupportedException(string.Format("Unknown read mode {0}", @@ -434,8 +434,8 @@ namespace DiscImageChef.DiscImages break; // Mode 2 case 2: - if(ImageInfo.sectorSize < 2336) ImageInfo.sectorSize = 2336; - track.TrackType = TrackType.CDMode2Formless; + if(ImageInfo.SectorSize < 2336) ImageInfo.SectorSize = 2336; + track.TrackType = TrackType.CdMode2Formless; track.TrackBytesPerSector = 2336; switch(readMode) { @@ -452,10 +452,10 @@ namespace DiscImageChef.DiscImages case 2: track.TrackRawBytesPerSector = 2352; currentOffset += trackLen * (ulong)track.TrackRawBytesPerSector; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); break; case 3: track.TrackRawBytesPerSector = 2352; @@ -465,10 +465,10 @@ namespace DiscImageChef.DiscImages track.TrackSubchannelOffset = currentOffset; track.TrackSubchannelType = TrackSubchannelType.Q16Interleaved; currentOffset += trackLen * (ulong)(track.TrackRawBytesPerSector + 16); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); break; case 4: track.TrackRawBytesPerSector = 2352; @@ -478,10 +478,10 @@ namespace DiscImageChef.DiscImages track.TrackSubchannelOffset = currentOffset; track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; currentOffset += trackLen * (ulong)(track.TrackRawBytesPerSector + 96); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSync)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorHeader)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSync)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorHeader)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); break; default: throw new ImageNotSupportedException(string.Format("Unknown read mode {0}", @@ -499,15 +499,15 @@ namespace DiscImageChef.DiscImages { track.TrackSubchannelFile = imageFilter.GetFilename(); track.TrackSubchannelFilter = imageFilter; - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDSectorSubchannel)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubchannel); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdSectorSubchannel)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubchannel); } Partition partition = new Partition(); partition.Description = track.TrackDescription; partition.Size = (ulong)(trackLen * track.TrackBytesPerSector); partition.Length = trackLen; - ImageInfo.sectors += partition.Length; + ImageInfo.Sectors += partition.Length; partition.Sequence = track.TrackSequence; partition.Offset = track.TrackFileOffset; partition.Start = track.TrackStartSector; @@ -536,11 +536,11 @@ namespace DiscImageChef.DiscImages position += 16; DicConsole.DebugWriteLine("DiscJuggler plugin", "Current position = {0}", position); - byte[] filename_b = new byte[descriptor[position]]; + byte[] filenameB = new byte[descriptor[position]]; position++; - Array.Copy(descriptor, position, filename_b, 0, filename_b.Length); - position += filename_b.Length; - string filename = Path.GetFileName(Encoding.Default.GetString(filename_b)); + Array.Copy(descriptor, position, filenameB, 0, filenameB.Length); + position += filenameB.Length; + string filename = Path.GetFileName(Encoding.Default.GetString(filenameB)); DicConsole.DebugWriteLine("DiscJuggler plugin", "filename = {0}", filename); // Skip unknown @@ -554,11 +554,11 @@ namespace DiscImageChef.DiscImages position += 4; DicConsole.DebugWriteLine("DiscJuggler plugin", "discSize = {0}", discSize); - byte[] volid_b = new byte[descriptor[position]]; + byte[] volidB = new byte[descriptor[position]]; position++; - Array.Copy(descriptor, position, volid_b, 0, volid_b.Length); - position += volid_b.Length; - string volid = Path.GetFileName(Encoding.Default.GetString(volid_b)); + Array.Copy(descriptor, position, volidB, 0, volidB.Length); + position += volidB.Length; + string volid = Path.GetFileName(Encoding.Default.GetString(volidB)); DicConsole.DebugWriteLine("DiscJuggler plugin", "volid = {0}", volid); // Skip unknown @@ -568,8 +568,8 @@ namespace DiscImageChef.DiscImages Array.Copy(descriptor, position, mcn, 0, 13); DicConsole.DebugWriteLine("DiscJuggler plugin", "mcn = {0}", StringHandlers.CToString(mcn)); position += 13; - uint mcn_valid = BitConverter.ToUInt32(descriptor, position); - DicConsole.DebugWriteLine("DiscJuggler plugin", "mcn_valid = {0}", mcn_valid); + uint mcnValid = BitConverter.ToUInt32(descriptor, position); + DicConsole.DebugWriteLine("DiscJuggler plugin", "mcn_valid = {0}", mcnValid); position += 4; uint cdtextLen = BitConverter.ToUInt32(descriptor, position); @@ -580,7 +580,7 @@ namespace DiscImageChef.DiscImages cdtext = new byte[cdtextLen]; Array.Copy(descriptor, position, cdtext, 0, cdtextLen); position += (int)cdtextLen; - ImageInfo.readableMediaTags.Add(MediaTagType.CD_TEXT); + ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_TEXT); } // Skip unknown @@ -588,7 +588,7 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("DiscJuggler plugin", "End position = {0}", position); - if(ImageInfo.mediaType == MediaType.CDROM) + if(ImageInfo.MediaType == MediaType.CDROM) { bool data = false; bool mode2 = false; @@ -612,31 +612,31 @@ namespace DiscImageChef.DiscImages switch(tracks[i].TrackType) { - case TrackType.CDMode2Form1: - case TrackType.CDMode2Form2: - case TrackType.CDMode2Formless: + case TrackType.CdMode2Form1: + case TrackType.CdMode2Form2: + case TrackType.CdMode2Formless: mode2 = true; break; } } - if(!data && !firstdata) ImageInfo.mediaType = MediaType.CDDA; - else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.mediaType = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) ImageInfo.mediaType = MediaType.CDROMXA; - else if(!audio) ImageInfo.mediaType = MediaType.CDROM; - else ImageInfo.mediaType = MediaType.CD; + if(!data && !firstdata) ImageInfo.MediaType = MediaType.CDDA; + else if(firstaudio && data && sessions.Count > 1 && mode2) ImageInfo.MediaType = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) ImageInfo.MediaType = MediaType.CDROMXA; + else if(!audio) ImageInfo.MediaType = MediaType.CDROM; + else ImageInfo.MediaType = MediaType.CD; } - ImageInfo.imageApplication = "DiscJuggler"; - ImageInfo.imageSize = (ulong)imageFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.ImageApplication = "DiscJuggler"; + ImageInfo.ImageSize = (ulong)imageFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; return true; } - static MediaType DecodeCDIMediumType(ushort type) + static MediaType DecodeCdiMediumType(ushort type) { switch(type) { @@ -648,22 +648,22 @@ namespace DiscImageChef.DiscImages public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -767,45 +767,45 @@ namespace DiscImageChef.DiscImages .Format("Requested more sectors ({0}) than present in track ({1}), won't cross tracks", length + sectorAddress, _track.TrackEndSector)); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case TrackType.CDMode1: + case TrackType.CdMode1: if(_track.TrackRawBytesPerSector == 2352) { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; } else { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; } break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: if(_track.TrackRawBytesPerSector == 2352) { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; } else { - sector_offset = 0; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2336; + sectorSkip = 0; } break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); @@ -814,31 +814,31 @@ namespace DiscImageChef.DiscImages switch(_track.TrackSubchannelType) { case TrackSubchannelType.None: - sector_skip += 0; + sectorSkip += 0; break; case TrackSubchannelType.Q16Interleaved: - sector_skip += 16; + sectorSkip += 16; break; case TrackSubchannelType.PackedInterleaved: - sector_skip += 96; + sectorSkip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream.Seek((long)(_track.TrackFileOffset + sectorAddress * (ulong)_track.TrackRawBytesPerSector), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) imageStream.Read(buffer, 0, buffer.Length); + if(sectorOffset == 0 && sectorSkip == 0) imageStream.Read(buffer, 0, buffer.Length); else { for(int i = 0; i < length; i++) { - byte[] sector = new byte[sector_size]; - imageStream.Seek(sector_offset, SeekOrigin.Current); + byte[] sector = new byte[sectorSize]; + imageStream.Seek(sectorOffset, SeekOrigin.Current); imageStream.Read(sector, 0, sector.Length); - imageStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + imageStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -876,15 +876,15 @@ namespace DiscImageChef.DiscImages switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: byte flag; if(trackFlags.TryGetValue(track, out flag)) return new byte[] {flag}; @@ -892,112 +892,112 @@ namespace DiscImageChef.DiscImages default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(_track.TrackType) { - case TrackType.CDMode1: + case TrackType.CdMode1: if(_track.TrackRawBytesPerSector != 2352) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: if(_track.TrackSubchannelType == TrackSubchannelType.None) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); if(_track.TrackSubchannelType == TrackSubchannelType.Q16Interleaved) throw new ArgumentException("Q16 subchannel not yet supported"); - sector_offset = 2352; - sector_size = 96; - sector_skip = 0; + sectorOffset = 2352; + sectorSize = 96; + sectorSkip = 0; break; default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } break; - case TrackType.CDMode2Formless: + case TrackType.CdMode2Formless: if(_track.TrackRawBytesPerSector != 2352) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 0; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 0; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2332; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2332; + sectorSize = 4; + sectorSkip = 0; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: if(_track.TrackSubchannelType == TrackSubchannelType.None) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); if(_track.TrackSubchannelType == TrackSubchannelType.Q16Interleaved) throw new ArgumentException("Q16 subchannel not yet supported"); - sector_offset = 2352; - sector_size = 96; - sector_skip = 0; + sectorOffset = 2352; + sectorSize = 96; + sectorSkip = 0; break; default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1008,15 +1008,15 @@ namespace DiscImageChef.DiscImages { switch(tag) { - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: if(_track.TrackSubchannelType == TrackSubchannelType.None) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); if(_track.TrackSubchannelType == TrackSubchannelType.Q16Interleaved) throw new ArgumentException("Q16 subchannel not yet supported"); - sector_offset = 2352; - sector_size = 96; - sector_skip = 0; + sectorOffset = 2352; + sectorSize = 96; + sectorSkip = 0; break; default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } @@ -1029,31 +1029,31 @@ namespace DiscImageChef.DiscImages switch(_track.TrackSubchannelType) { case TrackSubchannelType.None: - sector_skip += 0; + sectorSkip += 0; break; case TrackSubchannelType.Q16Interleaved: - sector_skip += 16; + sectorSkip += 16; break; case TrackSubchannelType.PackedInterleaved: - sector_skip += 96; + sectorSkip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } - buffer = new byte[sector_size * length]; + buffer = new byte[sectorSize * length]; imageStream.Seek((long)(_track.TrackFileOffset + sectorAddress * (ulong)_track.TrackRawBytesPerSector), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) imageStream.Read(buffer, 0, buffer.Length); + if(sectorOffset == 0 && sectorSkip == 0) imageStream.Read(buffer, 0, buffer.Length); else { for(int i = 0; i < length; i++) { - byte[] sector = new byte[sector_size]; - imageStream.Seek(sector_offset, SeekOrigin.Current); + byte[] sector = new byte[sectorSize]; + imageStream.Seek(sectorOffset, SeekOrigin.Current); imageStream.Read(sector, 0, sector.Length); - imageStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + imageStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1115,38 +1115,38 @@ namespace DiscImageChef.DiscImages .Format("Requested more sectors ({0}) than present in track ({1}), won't cross tracks", length + sectorAddress, _track.TrackEndSector)); - uint sector_offset = 0; - uint sector_size = (uint)_track.TrackRawBytesPerSector; - uint sector_skip = 0; + uint sectorOffset = 0; + uint sectorSize = (uint)_track.TrackRawBytesPerSector; + uint sectorSkip = 0; switch(_track.TrackSubchannelType) { case TrackSubchannelType.None: - sector_skip += 0; + sectorSkip += 0; break; case TrackSubchannelType.Q16Interleaved: - sector_skip += 16; + sectorSkip += 16; break; case TrackSubchannelType.PackedInterleaved: - sector_skip += 96; + sectorSkip += 96; break; default: throw new FeatureSupportedButNotImplementedImageException("Unsupported subchannel type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; imageStream.Seek((long)(_track.TrackFileOffset + sectorAddress * (ulong)_track.TrackRawBytesPerSector), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) imageStream.Read(buffer, 0, buffer.Length); + if(sectorOffset == 0 && sectorSkip == 0) imageStream.Read(buffer, 0, buffer.Length); else { for(int i = 0; i < length; i++) { - byte[] sector = new byte[sector_size]; - imageStream.Seek(sector_offset, SeekOrigin.Current); + byte[] sector = new byte[sectorSize]; + imageStream.Seek(sectorOffset, SeekOrigin.Current); imageStream.Read(sector, 0, sector.Length); - imageStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + imageStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1160,97 +1160,97 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -1286,73 +1286,73 @@ namespace DiscImageChef.DiscImages public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } diff --git a/DiscImageChef.DiscImages/DiskCopy42.cs b/DiscImageChef.DiscImages/DiskCopy42.cs index 0b3389cf5..8d3798841 100644 --- a/DiscImageChef.DiscImages/DiskCopy42.cs +++ b/DiscImageChef.DiscImages/DiskCopy42.cs @@ -40,33 +40,33 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // Checked using several images and strings inside Apple's DiskImages.framework public class DiskCopy42 : ImagePlugin { #region Internal Structures // DiskCopy 4.2 header, big-endian, data-fork, start of file, 84 bytes - struct DC42Header + struct Dc42Header { /// <summary>0x00, 64 bytes, pascal string, disk name or "-not a Macintosh disk-", filled with garbage</summary> - public string diskName; + public string DiskName; /// <summary>0x40, size of data in bytes (usually sectors*512)</summary> - public uint dataSize; + public uint DataSize; /// <summary>0x44, size of tags in bytes (usually sectors*12)</summary> - public uint tagSize; + public uint TagSize; /// <summary>0x48, checksum of data bytes</summary> - public uint dataChecksum; + public uint DataChecksum; /// <summary>0x4C, checksum of tag bytes</summary> - public uint tagChecksum; + public uint TagChecksum; /// <summary>0x50, format of disk, see constants</summary> - public byte format; + public byte Format; /// <summary>0x51, format of sectors, see constants</summary> - public byte fmtByte; + public byte FmtByte; /// <summary>0x52, is disk image valid? always 0x01</summary> - public byte valid; + public byte Valid; /// <summary>0x53, reserved, always 0x00</summary> - public byte reserved; + public byte Reserved; } #endregion @@ -121,7 +121,7 @@ namespace DiscImageChef.ImagePlugins /// <summary>Bytes per tag, should be 12</summary> uint bptag; /// <summary>Header of opened image</summary> - DC42Header header; + Dc42Header header; /// <summary>Disk image file</summary> Filter dc42ImageFilter; @@ -133,28 +133,28 @@ namespace DiscImageChef.ImagePlugins public DiskCopy42() { Name = "Apple DiskCopy 4.2"; - PluginUUID = new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); + PluginUuid = new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = "4.2"; - ImageInfo.imageApplication = "Apple DiskCopy"; - ImageInfo.imageApplicationVersion = "4.2"; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = "4.2"; + ImageInfo.ImageApplication = "Apple DiskCopy"; + ImageInfo.ImageApplicationVersion = "4.2"; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -168,70 +168,70 @@ namespace DiscImageChef.ImagePlugins // Incorrect pascal string length, not DC42 if(buffer[0] > 63) return false; - DC42Header tmp_header = new DC42Header(); + Dc42Header tmpHeader = new Dc42Header(); Array.Copy(buffer, 0, pString, 0, 64); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; - tmp_header.diskName = StringHandlers.PascalToString(pString, Encoding.GetEncoding("macintosh")); - tmp_header.dataSize = BigEndianBitConverter.ToUInt32(buffer, 0x40); - tmp_header.tagSize = BigEndianBitConverter.ToUInt32(buffer, 0x44); - tmp_header.dataChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x48); - tmp_header.tagChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x4C); - tmp_header.format = buffer[0x50]; - tmp_header.fmtByte = buffer[0x51]; - tmp_header.valid = buffer[0x52]; - tmp_header.reserved = buffer[0x53]; + tmpHeader.DiskName = StringHandlers.PascalToString(pString, Encoding.GetEncoding("macintosh")); + tmpHeader.DataSize = BigEndianBitConverter.ToUInt32(buffer, 0x40); + tmpHeader.TagSize = BigEndianBitConverter.ToUInt32(buffer, 0x44); + tmpHeader.DataChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x48); + tmpHeader.TagChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x4C); + tmpHeader.Format = buffer[0x50]; + tmpHeader.FmtByte = buffer[0x51]; + tmpHeader.Valid = buffer[0x52]; + tmpHeader.Reserved = buffer[0x53]; - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.diskName = \"{0}\"", tmp_header.diskName); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.dataSize = {0} bytes", tmp_header.dataSize); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.tagSize = {0} bytes", tmp_header.tagSize); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.dataChecksum = 0x{0:X8}", tmp_header.dataChecksum); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.tagChecksum = 0x{0:X8}", tmp_header.tagChecksum); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.format = 0x{0:X2}", tmp_header.format); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.fmtByte = 0x{0:X2}", tmp_header.fmtByte); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.valid = {0}", tmp_header.valid); - DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.reserved = {0}", tmp_header.reserved); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.diskName = \"{0}\"", tmpHeader.DiskName); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.dataSize = {0} bytes", tmpHeader.DataSize); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.tagSize = {0} bytes", tmpHeader.TagSize); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.dataChecksum = 0x{0:X8}", tmpHeader.DataChecksum); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.tagChecksum = 0x{0:X8}", tmpHeader.TagChecksum); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.format = 0x{0:X2}", tmpHeader.Format); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.fmtByte = 0x{0:X2}", tmpHeader.FmtByte); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.valid = {0}", tmpHeader.Valid); + DicConsole.DebugWriteLine("DC42 plugin", "tmp_header.reserved = {0}", tmpHeader.Reserved); - if(tmp_header.valid != 1 || tmp_header.reserved != 0) return false; + if(tmpHeader.Valid != 1 || tmpHeader.Reserved != 0) return false; // Some versions seem to incorrectly create little endian fields - if(tmp_header.dataSize + tmp_header.tagSize + 0x54 != imageFilter.GetDataForkLength() && - tmp_header.format != kSigmaFormatTwiggy) + if(tmpHeader.DataSize + tmpHeader.TagSize + 0x54 != imageFilter.GetDataForkLength() && + tmpHeader.Format != kSigmaFormatTwiggy) { - tmp_header.dataSize = BitConverter.ToUInt32(buffer, 0x40); - tmp_header.tagSize = BitConverter.ToUInt32(buffer, 0x44); - tmp_header.dataChecksum = BitConverter.ToUInt32(buffer, 0x48); - tmp_header.tagChecksum = BitConverter.ToUInt32(buffer, 0x4C); + tmpHeader.DataSize = BitConverter.ToUInt32(buffer, 0x40); + tmpHeader.TagSize = BitConverter.ToUInt32(buffer, 0x44); + tmpHeader.DataChecksum = BitConverter.ToUInt32(buffer, 0x48); + tmpHeader.TagChecksum = BitConverter.ToUInt32(buffer, 0x4C); - if(tmp_header.dataSize + tmp_header.tagSize + 0x54 != imageFilter.GetDataForkLength() && - tmp_header.format != kSigmaFormatTwiggy) return false; + if(tmpHeader.DataSize + tmpHeader.TagSize + 0x54 != imageFilter.GetDataForkLength() && + tmpHeader.Format != kSigmaFormatTwiggy) return false; } - if(tmp_header.format != kSonyFormat400K && tmp_header.format != kSonyFormat800K && - tmp_header.format != kSonyFormat720K && tmp_header.format != kSonyFormat1440K && - tmp_header.format != kSonyFormat1680K && tmp_header.format != kSigmaFormatTwiggy && - tmp_header.format != kNotStandardFormat) + if(tmpHeader.Format != kSonyFormat400K && tmpHeader.Format != kSonyFormat800K && + tmpHeader.Format != kSonyFormat720K && tmpHeader.Format != kSonyFormat1440K && + tmpHeader.Format != kSonyFormat1680K && tmpHeader.Format != kSigmaFormatTwiggy && + tmpHeader.Format != kNotStandardFormat) { DicConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.format = 0x{0:X2} value", - tmp_header.format); + tmpHeader.Format); return false; } - if(tmp_header.fmtByte != kSonyFmtByte400K && tmp_header.fmtByte != kSonyFmtByte800K && - tmp_header.fmtByte != kSonyFmtByte800KIncorrect && tmp_header.fmtByte != kSonyFmtByteProDos && - tmp_header.fmtByte != kInvalidFmtByte && tmp_header.fmtByte != kSigmaFmtByteTwiggy && - tmp_header.fmtByte != kFmtNotStandard && tmp_header.fmtByte != kMacOSXFmtByte) + if(tmpHeader.FmtByte != kSonyFmtByte400K && tmpHeader.FmtByte != kSonyFmtByte800K && + tmpHeader.FmtByte != kSonyFmtByte800KIncorrect && tmpHeader.FmtByte != kSonyFmtByteProDos && + tmpHeader.FmtByte != kInvalidFmtByte && tmpHeader.FmtByte != kSigmaFmtByteTwiggy && + tmpHeader.FmtByte != kFmtNotStandard && tmpHeader.FmtByte != kMacOSXFmtByte) { DicConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.fmtByte = 0x{0:X2} value", - tmp_header.fmtByte); + tmpHeader.FmtByte); return false; } - if(tmp_header.fmtByte == kInvalidFmtByte) + if(tmpHeader.FmtByte == kInvalidFmtByte) { DicConsole.DebugWriteLine("DC42 plugin", "Image says it's unformatted"); @@ -252,66 +252,66 @@ namespace DiscImageChef.ImagePlugins // Incorrect pascal string length, not DC42 if(buffer[0] > 63) return false; - header = new DC42Header(); + header = new Dc42Header(); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; Array.Copy(buffer, 0, pString, 0, 64); - header.diskName = StringHandlers.PascalToString(pString, Encoding.GetEncoding("macintosh")); - header.dataSize = BigEndianBitConverter.ToUInt32(buffer, 0x40); - header.tagSize = BigEndianBitConverter.ToUInt32(buffer, 0x44); - header.dataChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x48); - header.tagChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x4C); - header.format = buffer[0x50]; - header.fmtByte = buffer[0x51]; - header.valid = buffer[0x52]; - header.reserved = buffer[0x53]; + header.DiskName = StringHandlers.PascalToString(pString, Encoding.GetEncoding("macintosh")); + header.DataSize = BigEndianBitConverter.ToUInt32(buffer, 0x40); + header.TagSize = BigEndianBitConverter.ToUInt32(buffer, 0x44); + header.DataChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x48); + header.TagChecksum = BigEndianBitConverter.ToUInt32(buffer, 0x4C); + header.Format = buffer[0x50]; + header.FmtByte = buffer[0x51]; + header.Valid = buffer[0x52]; + header.Reserved = buffer[0x53]; - DicConsole.DebugWriteLine("DC42 plugin", "header.diskName = \"{0}\"", header.diskName); - DicConsole.DebugWriteLine("DC42 plugin", "header.dataSize = {0} bytes", header.dataSize); - DicConsole.DebugWriteLine("DC42 plugin", "header.tagSize = {0} bytes", header.tagSize); - DicConsole.DebugWriteLine("DC42 plugin", "header.dataChecksum = 0x{0:X8}", header.dataChecksum); - DicConsole.DebugWriteLine("DC42 plugin", "header.tagChecksum = 0x{0:X8}", header.tagChecksum); - DicConsole.DebugWriteLine("DC42 plugin", "header.format = 0x{0:X2}", header.format); - DicConsole.DebugWriteLine("DC42 plugin", "header.fmtByte = 0x{0:X2}", header.fmtByte); - DicConsole.DebugWriteLine("DC42 plugin", "header.valid = {0}", header.valid); - DicConsole.DebugWriteLine("DC42 plugin", "header.reserved = {0}", header.reserved); + DicConsole.DebugWriteLine("DC42 plugin", "header.diskName = \"{0}\"", header.DiskName); + DicConsole.DebugWriteLine("DC42 plugin", "header.dataSize = {0} bytes", header.DataSize); + DicConsole.DebugWriteLine("DC42 plugin", "header.tagSize = {0} bytes", header.TagSize); + DicConsole.DebugWriteLine("DC42 plugin", "header.dataChecksum = 0x{0:X8}", header.DataChecksum); + DicConsole.DebugWriteLine("DC42 plugin", "header.tagChecksum = 0x{0:X8}", header.TagChecksum); + DicConsole.DebugWriteLine("DC42 plugin", "header.format = 0x{0:X2}", header.Format); + DicConsole.DebugWriteLine("DC42 plugin", "header.fmtByte = 0x{0:X2}", header.FmtByte); + DicConsole.DebugWriteLine("DC42 plugin", "header.valid = {0}", header.Valid); + DicConsole.DebugWriteLine("DC42 plugin", "header.reserved = {0}", header.Reserved); - if(header.valid != 1 || header.reserved != 0) return false; + if(header.Valid != 1 || header.Reserved != 0) return false; // Some versions seem to incorrectly create little endian fields - if(header.dataSize + header.tagSize + 0x54 != imageFilter.GetDataForkLength() && - header.format != kSigmaFormatTwiggy) + if(header.DataSize + header.TagSize + 0x54 != imageFilter.GetDataForkLength() && + header.Format != kSigmaFormatTwiggy) { - header.dataSize = BitConverter.ToUInt32(buffer, 0x40); - header.tagSize = BitConverter.ToUInt32(buffer, 0x44); - header.dataChecksum = BitConverter.ToUInt32(buffer, 0x48); - header.tagChecksum = BitConverter.ToUInt32(buffer, 0x4C); + header.DataSize = BitConverter.ToUInt32(buffer, 0x40); + header.TagSize = BitConverter.ToUInt32(buffer, 0x44); + header.DataChecksum = BitConverter.ToUInt32(buffer, 0x48); + header.TagChecksum = BitConverter.ToUInt32(buffer, 0x4C); - if(header.dataSize + header.tagSize + 0x54 != imageFilter.GetDataForkLength() && - header.format != kSigmaFormatTwiggy) return false; + if(header.DataSize + header.TagSize + 0x54 != imageFilter.GetDataForkLength() && + header.Format != kSigmaFormatTwiggy) return false; } - if(header.format != kSonyFormat400K && header.format != kSonyFormat800K && - header.format != kSonyFormat720K && header.format != kSonyFormat1440K && - header.format != kSonyFormat1680K && header.format != kSigmaFormatTwiggy && - header.format != kNotStandardFormat) + if(header.Format != kSonyFormat400K && header.Format != kSonyFormat800K && + header.Format != kSonyFormat720K && header.Format != kSonyFormat1440K && + header.Format != kSonyFormat1680K && header.Format != kSigmaFormatTwiggy && + header.Format != kNotStandardFormat) { - DicConsole.DebugWriteLine("DC42 plugin", "Unknown header.format = 0x{0:X2} value", header.format); + DicConsole.DebugWriteLine("DC42 plugin", "Unknown header.format = 0x{0:X2} value", header.Format); return false; } - if(header.fmtByte != kSonyFmtByte400K && header.fmtByte != kSonyFmtByte800K && - header.fmtByte != kSonyFmtByte800KIncorrect && header.fmtByte != kSonyFmtByteProDos && - header.fmtByte != kInvalidFmtByte && header.fmtByte != kSigmaFmtByteTwiggy && - header.fmtByte != kFmtNotStandard && header.fmtByte != kMacOSXFmtByte) + if(header.FmtByte != kSonyFmtByte400K && header.FmtByte != kSonyFmtByte800K && + header.FmtByte != kSonyFmtByte800KIncorrect && header.FmtByte != kSonyFmtByteProDos && + header.FmtByte != kInvalidFmtByte && header.FmtByte != kSigmaFmtByteTwiggy && + header.FmtByte != kFmtNotStandard && header.FmtByte != kMacOSXFmtByte) { - DicConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.fmtByte = 0x{0:X2} value", header.fmtByte); + DicConsole.DebugWriteLine("DC42 plugin", "Unknown tmp_header.fmtByte = 0x{0:X2} value", header.FmtByte); return false; } - if(header.fmtByte == kInvalidFmtByte) + if(header.FmtByte == kInvalidFmtByte) { DicConsole.DebugWriteLine("DC42 plugin", "Image says it's unformatted"); @@ -319,16 +319,16 @@ namespace DiscImageChef.ImagePlugins } dataOffset = 0x54; - tagOffset = header.tagSize != 0 ? 0x54 + header.dataSize : 0; - ImageInfo.sectorSize = 512; - bptag = (uint)(header.tagSize != 0 ? 12 : 0); + tagOffset = header.TagSize != 0 ? 0x54 + header.DataSize : 0; + ImageInfo.SectorSize = 512; + bptag = (uint)(header.TagSize != 0 ? 12 : 0); dc42ImageFilter = imageFilter; - ImageInfo.sectors = header.dataSize / 512; + ImageInfo.Sectors = header.DataSize / 512; - if(header.tagSize != 0) + if(header.TagSize != 0) { - bptag = (uint)(header.tagSize / ImageInfo.sectors); + bptag = (uint)(header.TagSize / ImageInfo.Sectors); DicConsole.DebugWriteLine("DC42 plugin", "bptag = {0} bytes", bptag); if(bptag != 12 && bptag != 20 && bptag != 24) @@ -337,95 +337,95 @@ namespace DiscImageChef.ImagePlugins return false; } - ImageInfo.readableSectorTags.Add(SectorTagType.AppleSectorTag); + ImageInfo.ReadableSectorTags.Add(SectorTagType.AppleSectorTag); } - ImageInfo.imageSize = ImageInfo.sectors * ImageInfo.sectorSize + ImageInfo.sectors * bptag; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = header.diskName; + ImageInfo.ImageSize = ImageInfo.Sectors * ImageInfo.SectorSize + ImageInfo.Sectors * bptag; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = header.DiskName; - switch(header.format) + switch(header.Format) { case kSonyFormat400K: - if(ImageInfo.sectors == 1600) ImageInfo.mediaType = MediaType.AppleSonyDS; - else ImageInfo.mediaType = MediaType.AppleSonySS; + if(ImageInfo.Sectors == 1600) ImageInfo.MediaType = MediaType.AppleSonyDS; + else ImageInfo.MediaType = MediaType.AppleSonySS; break; case kSonyFormat800K: - ImageInfo.mediaType = MediaType.AppleSonyDS; + ImageInfo.MediaType = MediaType.AppleSonyDS; break; case kSonyFormat720K: - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; break; case kSonyFormat1440K: - ImageInfo.mediaType = MediaType.DOS_35_HD; + ImageInfo.MediaType = MediaType.DOS_35_HD; break; case kSonyFormat1680K: - ImageInfo.mediaType = MediaType.DMF; + ImageInfo.MediaType = MediaType.DMF; break; case kSigmaFormatTwiggy: - ImageInfo.mediaType = MediaType.AppleFileWare; + ImageInfo.MediaType = MediaType.AppleFileWare; break; case kNotStandardFormat: - switch(ImageInfo.sectors) + switch(ImageInfo.Sectors) { case 9728: - ImageInfo.mediaType = MediaType.AppleProfile; + ImageInfo.MediaType = MediaType.AppleProfile; break; case 19456: - ImageInfo.mediaType = MediaType.AppleProfile; + ImageInfo.MediaType = MediaType.AppleProfile; break; case 38912: - ImageInfo.mediaType = MediaType.AppleWidget; + ImageInfo.MediaType = MediaType.AppleWidget; break; case 39040: - ImageInfo.mediaType = MediaType.AppleHD20; + ImageInfo.MediaType = MediaType.AppleHD20; break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } - if(ImageInfo.mediaType == MediaType.AppleFileWare) + if(ImageInfo.MediaType == MediaType.AppleFileWare) { - byte[] data = new byte[header.dataSize]; - byte[] tags = new byte[header.tagSize]; + byte[] data = new byte[header.DataSize]; + byte[] tags = new byte[header.TagSize]; - twiggyCache = new byte[header.dataSize]; - twiggyCacheTags = new byte[header.tagSize]; + twiggyCache = new byte[header.DataSize]; + twiggyCacheTags = new byte[header.TagSize]; twiggy = true; Stream datastream = imageFilter.GetDataForkStream(); datastream.Seek((dataOffset), SeekOrigin.Begin); - datastream.Read(data, 0, (int)header.dataSize); + datastream.Read(data, 0, (int)header.DataSize); Stream tagstream = imageFilter.GetDataForkStream(); tagstream.Seek((tagOffset), SeekOrigin.Begin); - tagstream.Read(tags, 0, (int)header.tagSize); + tagstream.Read(tags, 0, (int)header.TagSize); - ushort MFS_Magic = BigEndianBitConverter.ToUInt16(data, (int)((data.Length / 2) + 0x400)); - ushort MFS_AllBlocks = BigEndianBitConverter.ToUInt16(data, (int)((data.Length / 2) + 0x412)); + ushort mfsMagic = BigEndianBitConverter.ToUInt16(data, (int)((data.Length / 2) + 0x400)); + ushort mfsAllBlocks = BigEndianBitConverter.ToUInt16(data, (int)((data.Length / 2) + 0x412)); // Detect a Macintosh Twiggy - if(MFS_Magic == 0xD2D7 && MFS_AllBlocks == 422) + if(mfsMagic == 0xD2D7 && mfsAllBlocks == 422) { DicConsole.DebugWriteLine("DC42 plugin", "Macintosh Twiggy detected, reversing disk sides"); - Array.Copy(data, (header.dataSize / 2), twiggyCache, 0, header.dataSize / 2); - Array.Copy(tags, (header.tagSize / 2), twiggyCacheTags, 0, header.tagSize / 2); - Array.Copy(data, 0, twiggyCache, header.dataSize / 2, header.dataSize / 2); - Array.Copy(tags, 0, twiggyCacheTags, header.tagSize / 2, header.tagSize / 2); + Array.Copy(data, (header.DataSize / 2), twiggyCache, 0, header.DataSize / 2); + Array.Copy(tags, (header.TagSize / 2), twiggyCacheTags, 0, header.TagSize / 2); + Array.Copy(data, 0, twiggyCache, header.DataSize / 2, header.DataSize / 2); + Array.Copy(tags, 0, twiggyCacheTags, header.TagSize / 2, header.TagSize / 2); } else { DicConsole.DebugWriteLine("DC42 plugin", "Lisa Twiggy detected, reversing second half of disk"); - Array.Copy(data, 0, twiggyCache, 0, header.dataSize / 2); - Array.Copy(tags, 0, twiggyCacheTags, 0, header.tagSize / 2); + Array.Copy(data, 0, twiggyCache, 0, header.DataSize / 2); + Array.Copy(tags, 0, twiggyCacheTags, 0, header.TagSize / 2); int copiedSectors = 0; int sectorsToCopy = 0; @@ -441,9 +441,9 @@ namespace DiscImageChef.ImagePlugins if(i >= 35 && i <= 41) sectorsToCopy = 16; if(i >= 42 && i <= 45) sectorsToCopy = 15; - Array.Copy(data, header.dataSize / 2 + copiedSectors * 512, twiggyCache, + Array.Copy(data, header.DataSize / 2 + copiedSectors * 512, twiggyCache, twiggyCache.Length - copiedSectors * 512 - sectorsToCopy * 512, sectorsToCopy * 512); - Array.Copy(tags, header.tagSize / 2 + copiedSectors * bptag, twiggyCacheTags, + Array.Copy(tags, header.TagSize / 2 + copiedSectors * bptag, twiggyCacheTags, twiggyCacheTags.Length - copiedSectors * bptag - sectorsToCopy * bptag, sectorsToCopy * bptag); @@ -495,10 +495,10 @@ namespace DiscImageChef.ImagePlugins if(dev != null) pre = string.Format("{0}", version.PreReleaseVersion); - ImageInfo.imageApplicationVersion = + ImageInfo.ImageApplicationVersion = string.Format("{0}{1}{2}{3}{4}", major, minor, release, dev, pre); - ImageInfo.imageApplication = version.VersionString; - ImageInfo.imageComments = version.VersionMessage; + ImageInfo.ImageApplication = version.VersionString; + ImageInfo.ImageComments = version.VersionMessage; } } } @@ -517,12 +517,12 @@ namespace DiscImageChef.ImagePlugins if(dCpyMatch.Success) { - ImageInfo.imageApplication = dCpyMatch.Groups["application"].Value; - ImageInfo.imageApplicationVersion = dCpyMatch.Groups["version"].Value; + ImageInfo.ImageApplication = dCpyMatch.Groups["application"].Value; + ImageInfo.ImageApplicationVersion = dCpyMatch.Groups["version"].Value; // Until MacRoman is implemented - if(ImageInfo.imageApplication == "ShrinkWrap?") - ImageInfo.imageApplication = "ShrinkWrap™"; + if(ImageInfo.ImageApplication == "ShrinkWrap?") + ImageInfo.ImageApplication = "ShrinkWrap™"; } } } @@ -530,67 +530,67 @@ namespace DiscImageChef.ImagePlugins } catch(InvalidCastException) { } - DicConsole.DebugWriteLine("DC42 plugin", "Image application = {0} version {1}", ImageInfo.imageApplication, - ImageInfo.imageApplicationVersion); + DicConsole.DebugWriteLine("DC42 plugin", "Image application = {0} version {1}", ImageInfo.ImageApplication, + ImageInfo.ImageApplicationVersion); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - DicConsole.VerboseWriteLine("DiskCopy 4.2 image contains a disk of type {0}", ImageInfo.mediaType); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + DicConsole.VerboseWriteLine("DiskCopy 4.2 image contains a disk of type {0}", ImageInfo.MediaType); - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.AppleSonySS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.AppleSonyDS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.DOS_35_DS_DD_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_35_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 18; break; case MediaType.DMF: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 21; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 21; break; case MediaType.AppleProfile: - switch(ImageInfo.sectors) + switch(ImageInfo.Sectors) { case 9728: - ImageInfo.cylinders = 152; + ImageInfo.Cylinders = 152; break; case 19456: - ImageInfo.cylinders = 304; + ImageInfo.Cylinders = 304; break; } - ImageInfo.heads = 4; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Heads = 4; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.AppleWidget: - ImageInfo.cylinders = 608; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 608; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.AppleHD20: - ImageInfo.cylinders = 610; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 610; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; default: - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; break; } @@ -607,79 +607,79 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } public override bool? VerifyMediaImage() { - byte[] data = new byte[header.dataSize]; - byte[] tags = new byte[header.tagSize]; + byte[] data = new byte[header.DataSize]; + byte[] tags = new byte[header.TagSize]; uint dataChk; uint tagsChk = 0; DicConsole.DebugWriteLine("DC42 plugin", "Reading data"); Stream datastream = dc42ImageFilter.GetDataForkStream(); datastream.Seek((dataOffset), SeekOrigin.Begin); - datastream.Read(data, 0, (int)header.dataSize); + datastream.Read(data, 0, (int)header.DataSize); DicConsole.DebugWriteLine("DC42 plugin", "Calculating data checksum"); dataChk = DC42CheckSum(data); DicConsole.DebugWriteLine("DC42 plugin", "Calculated data checksum = 0x{0:X8}", dataChk); - DicConsole.DebugWriteLine("DC42 plugin", "Stored data checksum = 0x{0:X8}", header.dataChecksum); + DicConsole.DebugWriteLine("DC42 plugin", "Stored data checksum = 0x{0:X8}", header.DataChecksum); - if(header.tagSize > 0) + if(header.TagSize > 0) { DicConsole.DebugWriteLine("DC42 plugin", "Reading tags"); Stream tagstream = dc42ImageFilter.GetDataForkStream(); tagstream.Seek((tagOffset), SeekOrigin.Begin); - tagstream.Read(tags, 0, (int)header.tagSize); + tagstream.Read(tags, 0, (int)header.TagSize); DicConsole.DebugWriteLine("DC42 plugin", "Calculating tag checksum"); tagsChk = DC42CheckSum(tags); DicConsole.DebugWriteLine("DC42 plugin", "Calculated tag checksum = 0x{0:X8}", tagsChk); - DicConsole.DebugWriteLine("DC42 plugin", "Stored tag checksum = 0x{0:X8}", header.tagChecksum); + DicConsole.DebugWriteLine("DC42 plugin", "Stored tag checksum = 0x{0:X8}", header.TagChecksum); } - return dataChk == header.dataChecksum && tagsChk == header.tagChecksum; + return dataChk == header.DataChecksum && tagsChk == header.TagChecksum; } public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -694,24 +694,24 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; if(twiggy) { - Array.Copy(twiggyCache, (int)sectorAddress * ImageInfo.sectorSize, buffer, 0, - length * ImageInfo.sectorSize); + Array.Copy(twiggyCache, (int)sectorAddress * ImageInfo.SectorSize, buffer, 0, + length * ImageInfo.SectorSize); } else { Stream stream = dc42ImageFilter.GetDataForkStream(); - stream.Seek((long)(dataOffset + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Seek((long)(dataOffset + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); } return buffer; @@ -722,12 +722,12 @@ namespace DiscImageChef.ImagePlugins if(tag != SectorTagType.AppleSectorTag) throw new FeatureUnsupportedImageException(string.Format("Tag {0} not supported by image format", tag)); - if(header.tagSize == 0) throw new FeatureNotPresentImageException("Disk image does not have tags"); + if(header.TagSize == 0) throw new FeatureNotPresentImageException("Disk image does not have tags"); - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); byte[] buffer = new byte[length * bptag]; @@ -750,10 +750,10 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); byte[] data = ReadSectors(sectorAddress, length); @@ -762,9 +762,9 @@ namespace DiscImageChef.ImagePlugins for(uint i = 0; i < length; i++) { - Array.Copy(data, i * (ImageInfo.sectorSize), buffer, i * (ImageInfo.sectorSize + bptag), - ImageInfo.sectorSize); - Array.Copy(tags, i * (bptag), buffer, i * (ImageInfo.sectorSize + bptag) + ImageInfo.sectorSize, bptag); + Array.Copy(data, i * (ImageInfo.SectorSize), buffer, i * (ImageInfo.SectorSize + bptag), + ImageInfo.SectorSize); + Array.Copy(tags, i * (bptag), buffer, i * (ImageInfo.SectorSize + bptag) + ImageInfo.SectorSize, bptag); } return buffer; @@ -777,37 +777,37 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -818,62 +818,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -935,17 +935,17 @@ namespace DiscImageChef.ImagePlugins #region Private methods private static uint DC42CheckSum(byte[] buffer) { - uint dc42chk = 0; + uint dc42Chk = 0; if((buffer.Length & 0x01) == 0x01) return 0xFFFFFFFF; for(uint i = 0; i < buffer.Length; i += 2) { - dc42chk += (uint)(buffer[i] << 8); - dc42chk += buffer[i + 1]; - dc42chk = (dc42chk >> 1) | (dc42chk << 31); + dc42Chk += (uint)(buffer[i] << 8); + dc42Chk += buffer[i + 1]; + dc42Chk = (dc42Chk >> 1) | (dc42Chk << 31); } - return dc42chk; + return dc42Chk; } #endregion } diff --git a/DiscImageChef.DiscImages/DriDiskCopy.cs b/DiscImageChef.DiscImages/DriDiskCopy.cs index 0d4d4b80b..7a9a8d273 100644 --- a/DiscImageChef.DiscImages/DriDiskCopy.cs +++ b/DiscImageChef.DiscImages/DriDiskCopy.cs @@ -39,29 +39,29 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class DriDiskCopy : ImagePlugin { #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct DRIFooter + struct DriFooter { /// <summary>Signature: "DiskImage 2.01 (C) 1990,1991 Digital Research Inc\0"</summary> [MarshalAs(UnmanagedType.ByValArray, SizeConst = 51)] public byte[] signature; /// <summary>Information about the disk image, mostly imitates FAT BPB</summary> - public DRIBPB bpb; + public DriBpb bpb; /// <summary>Information about the disk image, mostly imitates FAT BPB, copy</summary> - public DRIBPB bpbcopy; + public DriBpb bpbcopy; } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct DRIBPB + struct DriBpb { /// <summary>Seems to be always 0x05</summary> public byte five; /// <summary>A drive code that corresponds (but it not equal to) CMOS drive types</summary> - public DRIDriveCodes driveCode; + public DriDriveCodes driveCode; /// <summary>Unknown seems to be always 2</summary> public ushort unknown; /// <summary>Cylinders</summary> @@ -107,7 +107,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Drive codes change according to CMOS stored valued /// </summary> - enum DRIDriveCodes : byte + enum DriDriveCodes : byte { /// <summary>5.25" 360k</summary> md2dd = 0, @@ -121,12 +121,12 @@ namespace DiscImageChef.ImagePlugins mf2ed = 9 } - const string DRIRegEx = "DiskImage\\s(?<version>\\d+.\\d+)\\s\\(C\\)\\s\\d+\\,*\\d*\\s+Digital Research Inc"; + const string DRI_REG_EX = "DiskImage\\s(?<version>\\d+.\\d+)\\s\\(C\\)\\s\\d+\\,*\\d*\\s+Digital Research Inc"; #endregion #region Internal variables /// <summary>Footer of opened image</summary> - DRIFooter footer; + DriFooter footer; /// <summary>Disk image file</summary> Filter driImageFilter; #endregion @@ -134,84 +134,84 @@ namespace DiscImageChef.ImagePlugins public DriDiskCopy() { Name = "Digital Research DiskCopy"; - PluginUUID = new Guid("9F0BE551-8BAB-4038-8B5A-691F1BF5FFF3"); + PluginUuid = new Guid("9F0BE551-8BAB-4038-8B5A-691F1BF5FFF3"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "DiskCopy"; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "DiskCopy"; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) { Stream stream = imageFilter.GetDataForkStream(); - if((stream.Length - Marshal.SizeOf(typeof(DRIFooter))) % 512 != 0) return false; + if((stream.Length - Marshal.SizeOf(typeof(DriFooter))) % 512 != 0) return false; - byte[] buffer = new byte[Marshal.SizeOf(typeof(DRIFooter))]; + byte[] buffer = new byte[Marshal.SizeOf(typeof(DriFooter))]; stream.Seek(-buffer.Length, SeekOrigin.End); stream.Read(buffer, 0, buffer.Length); - DRIFooter tmp_footer = new DRIFooter(); + DriFooter tmpFooter = new DriFooter(); IntPtr ftrPtr = Marshal.AllocHGlobal(buffer.Length); Marshal.Copy(buffer, 0, ftrPtr, buffer.Length); - tmp_footer = (DRIFooter)Marshal.PtrToStructure(ftrPtr, typeof(DRIFooter)); + tmpFooter = (DriFooter)Marshal.PtrToStructure(ftrPtr, typeof(DriFooter)); Marshal.FreeHGlobal(ftrPtr); - string sig = StringHandlers.CToString(tmp_footer.signature); + string sig = StringHandlers.CToString(tmpFooter.signature); DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.signature = \"{0}\"", sig); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.five = {0}", tmp_footer.bpb.five); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.five = {0}", tmpFooter.bpb.five); DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.driveCode = {0}", - tmp_footer.bpb.driveCode); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown = {0}", tmp_footer.bpb.unknown); + tmpFooter.bpb.driveCode); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown = {0}", tmpFooter.bpb.unknown); DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.cylinders = {0}", - tmp_footer.bpb.cylinders); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown2 = {0}", tmp_footer.bpb.unknown2); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.bps = {0}", tmp_footer.bpb.bps); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.spc = {0}", tmp_footer.bpb.spc); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.rsectors = {0}", tmp_footer.bpb.rsectors); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.fats_no = {0}", tmp_footer.bpb.fats_no); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.sectors = {0}", tmp_footer.bpb.sectors); + tmpFooter.bpb.cylinders); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown2 = {0}", tmpFooter.bpb.unknown2); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.bps = {0}", tmpFooter.bpb.bps); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.spc = {0}", tmpFooter.bpb.spc); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.rsectors = {0}", tmpFooter.bpb.rsectors); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.fats_no = {0}", tmpFooter.bpb.fats_no); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.sectors = {0}", tmpFooter.bpb.sectors); DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.media_descriptor = {0}", - tmp_footer.bpb.media_descriptor); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.spfat = {0}", tmp_footer.bpb.spfat); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.sptrack = {0}", tmp_footer.bpb.sptrack); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.heads = {0}", tmp_footer.bpb.heads); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.hsectors = {0}", tmp_footer.bpb.hsectors); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.drive_no = {0}", tmp_footer.bpb.drive_no); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown3 = {0}", tmp_footer.bpb.unknown3); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown4 = {0}", tmp_footer.bpb.unknown4); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.sptrack2 = {0}", tmp_footer.bpb.sptrack2); + tmpFooter.bpb.media_descriptor); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.spfat = {0}", tmpFooter.bpb.spfat); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.sptrack = {0}", tmpFooter.bpb.sptrack); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.heads = {0}", tmpFooter.bpb.heads); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.hsectors = {0}", tmpFooter.bpb.hsectors); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.drive_no = {0}", tmpFooter.bpb.drive_no); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown3 = {0}", tmpFooter.bpb.unknown3); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.unknown4 = {0}", tmpFooter.bpb.unknown4); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "tmp_footer.bpb.sptrack2 = {0}", tmpFooter.bpb.sptrack2); DicConsole.DebugWriteLine("DRI DiskCopy plugin", "ArrayHelpers.ArrayIsNullOrEmpty(tmp_footer.bpb.unknown5) = {0}", - ArrayHelpers.ArrayIsNullOrEmpty(tmp_footer.bpb.unknown5)); + ArrayHelpers.ArrayIsNullOrEmpty(tmpFooter.bpb.unknown5)); - Regex RegexSignature = new Regex(DRIRegEx); - Match MatchSignature = RegexSignature.Match(sig); + Regex regexSignature = new Regex(DRI_REG_EX); + Match matchSignature = regexSignature.Match(sig); - DicConsole.DebugWriteLine("DRI DiskCopy plugin", "MatchSignature.Success? = {0}", MatchSignature.Success); + DicConsole.DebugWriteLine("DRI DiskCopy plugin", "MatchSignature.Success? = {0}", matchSignature.Success); - if(!MatchSignature.Success) return false; + if(!matchSignature.Success) return false; - if(tmp_footer.bpb.sptrack * tmp_footer.bpb.cylinders * tmp_footer.bpb.heads != - tmp_footer.bpb.sectors) return false; + if(tmpFooter.bpb.sptrack * tmpFooter.bpb.cylinders * tmpFooter.bpb.heads != + tmpFooter.bpb.sectors) return false; - if((tmp_footer.bpb.sectors * tmp_footer.bpb.bps) + Marshal.SizeOf(tmp_footer) != stream.Length) + if((tmpFooter.bpb.sectors * tmpFooter.bpb.bps) + Marshal.SizeOf(tmpFooter) != stream.Length) return false; return true; @@ -221,127 +221,127 @@ namespace DiscImageChef.ImagePlugins { Stream stream = imageFilter.GetDataForkStream(); - if((stream.Length - Marshal.SizeOf(typeof(DRIFooter))) % 512 != 0) return false; + if((stream.Length - Marshal.SizeOf(typeof(DriFooter))) % 512 != 0) return false; - byte[] buffer = new byte[Marshal.SizeOf(typeof(DRIFooter))]; + byte[] buffer = new byte[Marshal.SizeOf(typeof(DriFooter))]; stream.Seek(-buffer.Length, SeekOrigin.End); stream.Read(buffer, 0, buffer.Length); - footer = new DRIFooter(); + footer = new DriFooter(); IntPtr ftrPtr = Marshal.AllocHGlobal(buffer.Length); Marshal.Copy(buffer, 0, ftrPtr, buffer.Length); - footer = (DRIFooter)Marshal.PtrToStructure(ftrPtr, typeof(DRIFooter)); + footer = (DriFooter)Marshal.PtrToStructure(ftrPtr, typeof(DriFooter)); Marshal.FreeHGlobal(ftrPtr); string sig = StringHandlers.CToString(footer.signature); - Regex RegexSignature = new Regex(DRIRegEx); - Match MatchSignature = RegexSignature.Match(sig); + Regex regexSignature = new Regex(DRI_REG_EX); + Match matchSignature = regexSignature.Match(sig); - if(!MatchSignature.Success) return false; + if(!matchSignature.Success) return false; if(footer.bpb.sptrack * footer.bpb.cylinders * footer.bpb.heads != footer.bpb.sectors) return false; if((footer.bpb.sectors * footer.bpb.bps) + Marshal.SizeOf(footer) != stream.Length) return false; - ImageInfo.cylinders = footer.bpb.cylinders; - ImageInfo.heads = footer.bpb.heads; - ImageInfo.sectorsPerTrack = footer.bpb.sptrack; - ImageInfo.sectors = footer.bpb.sectors; - ImageInfo.sectorSize = footer.bpb.bps; - ImageInfo.imageApplicationVersion = MatchSignature.Groups["version"].Value; + ImageInfo.Cylinders = footer.bpb.cylinders; + ImageInfo.Heads = footer.bpb.heads; + ImageInfo.SectorsPerTrack = footer.bpb.sptrack; + ImageInfo.Sectors = footer.bpb.sectors; + ImageInfo.SectorSize = footer.bpb.bps; + ImageInfo.ImageApplicationVersion = matchSignature.Groups["version"].Value; driImageFilter = imageFilter; - ImageInfo.imageSize = (ulong)(stream.Length - Marshal.SizeOf(footer)); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageSize = (ulong)(stream.Length - Marshal.SizeOf(footer)); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); DicConsole.DebugWriteLine("DRI DiskCopy plugin", "Image application = {0} version {1}", - ImageInfo.imageApplication, ImageInfo.imageApplicationVersion); + ImageInfo.ImageApplication, ImageInfo.ImageApplicationVersion); // Correct some incorrect data in images of NEC 2HD disks - if(ImageInfo.cylinders == 77 && ImageInfo.heads == 2 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 512 && - (footer.bpb.driveCode == DRIDriveCodes.md2hd || footer.bpb.driveCode == DRIDriveCodes.mf2hd)) + if(ImageInfo.Cylinders == 77 && ImageInfo.Heads == 2 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 512 && + (footer.bpb.driveCode == DriDriveCodes.md2hd || footer.bpb.driveCode == DriDriveCodes.mf2hd)) { - ImageInfo.sectorsPerTrack = 8; - ImageInfo.sectorSize = 1024; + ImageInfo.SectorsPerTrack = 8; + ImageInfo.SectorSize = 1024; } switch(footer.bpb.driveCode) { - case DRIDriveCodes.md2hd: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_DS_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_DD_80; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_SD_80; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_525_HD; - else goto case DRIDriveCodes.md2dd; + case DriDriveCodes.md2hd: + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_DS_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_DD_80; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_SD_80; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 77 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_525_HD; + else goto case DriDriveCodes.md2dd; break; - case DRIDriveCodes.md2dd: - if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_SD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 26 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_ED; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ATARI_525_DD; - else ImageInfo.mediaType = MediaType.Unknown; + case DriDriveCodes.md2dd: + if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_SD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 26 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_ED; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ATARI_525_DD; + else ImageInfo.MediaType = MediaType.Unknown; break; - case DRIDriveCodes.mf2ed: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 36 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_ED; - else goto case DRIDriveCodes.mf2hd; + case DriDriveCodes.mf2ed: + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 36 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_ED; + else goto case DriDriveCodes.mf2hd; break; - case DRIDriveCodes.mf2hd: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 21 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 82 && ImageInfo.sectorsPerTrack == 21 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF_82; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_35_HD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.NEC_35_HD_15; - else goto case DRIDriveCodes.mf2dd; + case DriDriveCodes.mf2hd: + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 21 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DMF; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 82 && ImageInfo.SectorsPerTrack == 21 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DMF_82; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 77 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_35_HD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.NEC_35_HD_15; + else goto case DriDriveCodes.mf2dd; break; - case DRIDriveCodes.mf2dd: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 5 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.Apricot_35; - else ImageInfo.mediaType = MediaType.Unknown; + case DriDriveCodes.mf2dd: + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 5 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.ACORN_35_DS_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 70 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.Apricot_35; + else ImageInfo.MediaType = MediaType.Unknown; break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; DicConsole.VerboseWriteLine("Digital Research DiskCopy image contains a disk of type {0}", - ImageInfo.mediaType); + ImageInfo.MediaType); return true; } @@ -356,24 +356,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -385,22 +385,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -415,17 +415,17 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = driImageFilter.GetDataForkStream(); - stream.Seek((long)(sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Seek((long)(sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -452,37 +452,37 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -493,62 +493,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -606,22 +606,5 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } #endregion Unsupported features - - #region Private methods - private static uint DC42CheckSum(byte[] buffer) - { - uint dc42chk = 0; - if((buffer.Length & 0x01) == 0x01) return 0xFFFFFFFF; - - for(uint i = 0; i < buffer.Length; i += 2) - { - dc42chk += (uint)(buffer[i] << 8); - dc42chk += buffer[i + 1]; - dc42chk = (dc42chk >> 1) | (dc42chk << 31); - } - - return dc42chk; - } - #endregion } } \ No newline at end of file diff --git a/DiscImageChef.DiscImages/GDI.cs b/DiscImageChef.DiscImages/GDI.cs index 26fc24945..2c6dbb9a9 100644 --- a/DiscImageChef.DiscImages/GDI.cs +++ b/DiscImageChef.DiscImages/GDI.cs @@ -38,47 +38,47 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // TODO: There seems no be no clear definition on how to treat pregaps that are not included in the file, so this is just appending it to start of track // TODO: This format doesn't support to specify pregaps that are included in the file (like Redump ones) - public class GDI : ImagePlugin + public class Gdi : ImagePlugin { #region Internal structures - struct GDITrack + struct GdiTrack { /// <summary>Track #</summary> - public uint sequence; + public uint Sequence; /// <summary>Track filter</summary> - public Filter trackfilter; + public Filter Trackfilter; /// <summary>Track file</summary> - public string trackfile; + public string Trackfile; /// <summary>Track byte offset in file</summary> - public long offset; + public long Offset; /// <summary>Track flags</summary> - public byte flags; + public byte Flags; /// <summary>Track starting sector</summary> - public ulong startSector; + public ulong StartSector; /// <summary>Bytes per sector</summary> - public ushort bps; + public ushort Bps; /// <summary>Sectors in track</summary> - public ulong sectors; + public ulong Sectors; /// <summary>Track type</summary> - public TrackType tracktype; + public TrackType Tracktype; /// <summary>Track session</summary> - public bool highDensity; + public bool HighDensity; /// <summary>Pregap sectors not stored in track file</summary> - public ulong pregap; + public ulong Pregap; } - struct GDIDisc + struct GdiDisc { /// <summary>Sessions</summary> - public List<Session> sessions; + public List<Session> Sessions; /// <summary>Tracks</summary> - public List<GDITrack> tracks; + public List<GdiTrack> Tracks; /// <summary>Disk type</summary> - public MediaType disktype; + public MediaType Disktype; } #endregion Internal structures @@ -87,40 +87,40 @@ namespace DiscImageChef.ImagePlugins Stream imageStream; /// <summary>Dictionary, index is track #, value is track number, or 0 if a TOC</summary> Dictionary<uint, ulong> offsetmap; - GDIDisc discimage; + GdiDisc discimage; List<Partition> partitions; ulong densitySeparationSectors; #endregion Internal variables #region Parsing regexs - const string TrackRegEx = + const string TRACK_REGEX = "\\s?(?<track>\\d+)\\s+(?<start>\\d+)\\s(?<flags>\\d)\\s(?<type>2352|2048)\\s(?<filename>.+)\\s(?<offset>\\d+)$" ; #endregion Parsing regexs #region Public methods - public GDI() + public Gdi() { Name = "Dreamcast GDI image"; - PluginUUID = new Guid("281ECBF2-D2A7-414C-8497-1A33F6DCB2DD"); + PluginUuid = new Guid("281ECBF2-D2A7-414C-8497-1A33F6DCB2DD"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageVersion = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageName = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageName = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } // Due to .gdi format, this method must parse whole file, ignoring errors (those will be thrown by OpenImage()). @@ -163,11 +163,11 @@ namespace DiscImageChef.ImagePlugins if(line == 1) { if(!int.TryParse(_line, out tracks)) return false; } else { - Regex RegexTrack = new Regex(TrackRegEx); + Regex regexTrack = new Regex(TRACK_REGEX); - Match TrackMatch = RegexTrack.Match(_line); + Match trackMatch = regexTrack.Match(_line); - if(!TrackMatch.Success) return false; + if(!trackMatch.Success) return false; tracksFound++; } @@ -200,19 +200,19 @@ namespace DiscImageChef.ImagePlugins bool highDensity = false; // Initialize all RegExs - Regex RegexTrack = new Regex(TrackRegEx); + Regex regexTrack = new Regex(TRACK_REGEX); // Initialize all RegEx matches - Match TrackMatch; + Match trackMatch; // Initialize disc - discimage = new GDIDisc(); - discimage.sessions = new List<Session>(); - discimage.tracks = new List<GDITrack>(); + discimage = new GdiDisc(); + discimage.Sessions = new List<Session>(); + discimage.Tracks = new List<GdiTrack>(); ulong currentStart = 0; offsetmap = new Dictionary<uint, ulong>(); - GDITrack currentTrack; + GdiTrack currentTrack; densitySeparationSectors = 0; FiltersList filtersList; @@ -229,9 +229,9 @@ namespace DiscImageChef.ImagePlugins } else { - TrackMatch = RegexTrack.Match(_line); + trackMatch = regexTrack.Match(_line); - if(!TrackMatch.Success) + if(!trackMatch.Success) throw new ImageNotSupportedException(string.Format("Unknown line \"{0}\" at line {1}", _line, line)); @@ -239,54 +239,54 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("GDI plugin", "Found track {0} starts at {1} flags {2} type {3} file {4} offset {5} at line {6}", - TrackMatch.Groups["track"].Value, TrackMatch.Groups["start"].Value, - TrackMatch.Groups["flags"].Value, TrackMatch.Groups["type"].Value, - TrackMatch.Groups["filename"].Value, - TrackMatch.Groups["offset"].Value, line); + trackMatch.Groups["track"].Value, trackMatch.Groups["start"].Value, + trackMatch.Groups["flags"].Value, trackMatch.Groups["type"].Value, + trackMatch.Groups["filename"].Value, + trackMatch.Groups["offset"].Value, line); filtersList = new FiltersList(); - currentTrack = new GDITrack(); - currentTrack.bps = ushort.Parse(TrackMatch.Groups["type"].Value); - currentTrack.flags = (byte)(byte.Parse(TrackMatch.Groups["flags"].Value) * 0x10); - currentTrack.offset = long.Parse(TrackMatch.Groups["offset"].Value); - currentTrack.sequence = uint.Parse(TrackMatch.Groups["track"].Value); - currentTrack.startSector = ulong.Parse(TrackMatch.Groups["start"].Value); - currentTrack.trackfilter = + currentTrack = new GdiTrack(); + currentTrack.Bps = ushort.Parse(trackMatch.Groups["type"].Value); + currentTrack.Flags = (byte)(byte.Parse(trackMatch.Groups["flags"].Value) * 0x10); + currentTrack.Offset = long.Parse(trackMatch.Groups["offset"].Value); + currentTrack.Sequence = uint.Parse(trackMatch.Groups["track"].Value); + currentTrack.StartSector = ulong.Parse(trackMatch.Groups["start"].Value); + currentTrack.Trackfilter = filtersList.GetFilter(Path.Combine(imageFilter.GetParentFolder(), - TrackMatch.Groups["filename"].Value.Replace("\\\"", "\"") + trackMatch.Groups["filename"].Value.Replace("\\\"", "\"") .Trim(new[] {'"'}))); - currentTrack.trackfile = currentTrack.trackfilter.GetFilename(); + currentTrack.Trackfile = currentTrack.Trackfilter.GetFilename(); - if((currentTrack.startSector - currentStart) > 0) + if((currentTrack.StartSector - currentStart) > 0) { - if(currentTrack.startSector == 45000) + if(currentTrack.StartSector == 45000) { highDensity = true; offsetmap.Add(0, currentStart); - densitySeparationSectors = (currentTrack.startSector - currentStart); - currentStart = currentTrack.startSector; + densitySeparationSectors = (currentTrack.StartSector - currentStart); + currentStart = currentTrack.StartSector; } else { - currentTrack.pregap = (currentTrack.startSector - currentStart); - currentTrack.startSector -= (currentTrack.startSector - currentStart); + currentTrack.Pregap = (currentTrack.StartSector - currentStart); + currentTrack.StartSector -= (currentTrack.StartSector - currentStart); } } - if(((currentTrack.trackfilter.GetDataForkLength() - currentTrack.offset) % currentTrack.bps) != + if(((currentTrack.Trackfilter.GetDataForkLength() - currentTrack.Offset) % currentTrack.Bps) != 0) throw new ImageNotSupportedException("Track size not a multiple of sector size"); - currentTrack.sectors = - (ulong)((currentTrack.trackfilter.GetDataForkLength() - currentTrack.offset) / - currentTrack.bps); - currentTrack.sectors += currentTrack.pregap; - currentStart += currentTrack.sectors; - currentTrack.highDensity = highDensity; + currentTrack.Sectors = + (ulong)((currentTrack.Trackfilter.GetDataForkLength() - currentTrack.Offset) / + currentTrack.Bps); + currentTrack.Sectors += currentTrack.Pregap; + currentStart += currentTrack.Sectors; + currentTrack.HighDensity = highDensity; - if((currentTrack.flags & 0x40) == 0x40) currentTrack.tracktype = TrackType.CDMode1; - else currentTrack.tracktype = TrackType.Audio; + if((currentTrack.Flags & 0x40) == 0x40) currentTrack.Tracktype = TrackType.CdMode1; + else currentTrack.Tracktype = TrackType.Audio; - discimage.tracks.Add(currentTrack); + discimage.Tracks.Add(currentTrack); } } @@ -297,20 +297,20 @@ namespace DiscImageChef.ImagePlugins { _sessions[s].SessionSequence = 1; - foreach(GDITrack trk in discimage.tracks) + foreach(GdiTrack trk in discimage.Tracks) { - if(!trk.highDensity) + if(!trk.HighDensity) { - if(_sessions[s].StartTrack == 0) _sessions[s].StartTrack = trk.sequence; - else if(_sessions[s].StartTrack > trk.sequence) _sessions[s].StartTrack = trk.sequence; + if(_sessions[s].StartTrack == 0) _sessions[s].StartTrack = trk.Sequence; + else if(_sessions[s].StartTrack > trk.Sequence) _sessions[s].StartTrack = trk.Sequence; - if(_sessions[s].EndTrack < trk.sequence) _sessions[s].EndTrack = trk.sequence; + if(_sessions[s].EndTrack < trk.Sequence) _sessions[s].EndTrack = trk.Sequence; - if(_sessions[s].StartSector > trk.startSector) - _sessions[s].StartSector = trk.startSector; + if(_sessions[s].StartSector > trk.StartSector) + _sessions[s].StartSector = trk.StartSector; - if(_sessions[s].EndSector < (trk.sectors + trk.startSector - 1)) - _sessions[s].EndSector = trk.sectors + trk.startSector - 1; + if(_sessions[s].EndSector < (trk.Sectors + trk.StartSector - 1)) + _sessions[s].EndSector = trk.Sectors + trk.StartSector - 1; } } } @@ -318,127 +318,127 @@ namespace DiscImageChef.ImagePlugins { _sessions[s].SessionSequence = 2; - foreach(GDITrack trk in discimage.tracks) + foreach(GdiTrack trk in discimage.Tracks) { - if(trk.highDensity) + if(trk.HighDensity) { - if(_sessions[s].StartTrack == 0) _sessions[s].StartTrack = trk.sequence; - else if(_sessions[s].StartTrack > trk.sequence) _sessions[s].StartTrack = trk.sequence; + if(_sessions[s].StartTrack == 0) _sessions[s].StartTrack = trk.Sequence; + else if(_sessions[s].StartTrack > trk.Sequence) _sessions[s].StartTrack = trk.Sequence; - if(_sessions[s].EndTrack < trk.sequence) _sessions[s].EndTrack = trk.sequence; + if(_sessions[s].EndTrack < trk.Sequence) _sessions[s].EndTrack = trk.Sequence; - if(_sessions[s].StartSector > trk.startSector) - _sessions[s].StartSector = trk.startSector; + if(_sessions[s].StartSector > trk.StartSector) + _sessions[s].StartSector = trk.StartSector; - if(_sessions[s].EndSector < (trk.sectors + trk.startSector - 1)) - _sessions[s].EndSector = trk.sectors + trk.startSector - 1; + if(_sessions[s].EndSector < (trk.Sectors + trk.StartSector - 1)) + _sessions[s].EndSector = trk.Sectors + trk.StartSector - 1; } } } } - discimage.sessions.Add(_sessions[0]); - discimage.sessions.Add(_sessions[1]); + discimage.Sessions.Add(_sessions[0]); + discimage.Sessions.Add(_sessions[1]); - discimage.disktype = MediaType.GDROM; + discimage.Disktype = MediaType.GDROM; // DEBUG information DicConsole.DebugWriteLine("GDI plugin", "Disc image parsing results"); DicConsole.DebugWriteLine("GDI plugin", "Session information:"); - DicConsole.DebugWriteLine("GDI plugin", "\tDisc contains {0} sessions", discimage.sessions.Count); - for(int i = 0; i < discimage.sessions.Count; i++) + DicConsole.DebugWriteLine("GDI plugin", "\tDisc contains {0} sessions", discimage.Sessions.Count); + for(int i = 0; i < discimage.Sessions.Count; i++) { DicConsole.DebugWriteLine("GDI plugin", "\tSession {0} information:", i + 1); DicConsole.DebugWriteLine("GDI plugin", "\t\tStarting track: {0}", - discimage.sessions[i].StartTrack); + discimage.Sessions[i].StartTrack); DicConsole.DebugWriteLine("GDI plugin", "\t\tStarting sector: {0}", - discimage.sessions[i].StartSector); - DicConsole.DebugWriteLine("GDI plugin", "\t\tEnding track: {0}", discimage.sessions[i].EndTrack); - DicConsole.DebugWriteLine("GDI plugin", "\t\tEnding sector: {0}", discimage.sessions[i].EndSector); + discimage.Sessions[i].StartSector); + DicConsole.DebugWriteLine("GDI plugin", "\t\tEnding track: {0}", discimage.Sessions[i].EndTrack); + DicConsole.DebugWriteLine("GDI plugin", "\t\tEnding sector: {0}", discimage.Sessions[i].EndSector); } DicConsole.DebugWriteLine("GDI plugin", "Track information:"); - DicConsole.DebugWriteLine("GDI plugin", "\tDisc contains {0} tracks", discimage.tracks.Count); - for(int i = 0; i < discimage.tracks.Count; i++) + DicConsole.DebugWriteLine("GDI plugin", "\tDisc contains {0} tracks", discimage.Tracks.Count); + for(int i = 0; i < discimage.Tracks.Count; i++) { - DicConsole.DebugWriteLine("GDI plugin", "\tTrack {0} information:", discimage.tracks[i].sequence); - DicConsole.DebugWriteLine("GDI plugin", "\t\t{0} bytes per sector", discimage.tracks[i].bps); - DicConsole.DebugWriteLine("GDI plugin", "\t\tPregap: {0} sectors", discimage.tracks[i].pregap); + DicConsole.DebugWriteLine("GDI plugin", "\tTrack {0} information:", discimage.Tracks[i].Sequence); + DicConsole.DebugWriteLine("GDI plugin", "\t\t{0} bytes per sector", discimage.Tracks[i].Bps); + DicConsole.DebugWriteLine("GDI plugin", "\t\tPregap: {0} sectors", discimage.Tracks[i].Pregap); - if((discimage.tracks[i].flags & 0x80) == 0x80) + if((discimage.Tracks[i].Flags & 0x80) == 0x80) DicConsole.DebugWriteLine("GDI plugin", "\t\tTrack is flagged as quadraphonic"); - if((discimage.tracks[i].flags & 0x40) == 0x40) + if((discimage.Tracks[i].Flags & 0x40) == 0x40) DicConsole.DebugWriteLine("GDI plugin", "\t\tTrack is data"); - if((discimage.tracks[i].flags & 0x20) == 0x20) + if((discimage.Tracks[i].Flags & 0x20) == 0x20) DicConsole.DebugWriteLine("GDI plugin", "\t\tTrack allows digital copy"); - if((discimage.tracks[i].flags & 0x10) == 0x10) + if((discimage.Tracks[i].Flags & 0x10) == 0x10) DicConsole.DebugWriteLine("GDI plugin", "\t\tTrack has pre-emphasis applied"); DicConsole.DebugWriteLine("GDI plugin", "\t\tTrack resides in file {0}, type defined as {1}, starting at byte {2}", - discimage.tracks[i].trackfilter, discimage.tracks[i].tracktype, - discimage.tracks[i].offset); + discimage.Tracks[i].Trackfilter, discimage.Tracks[i].Tracktype, + discimage.Tracks[i].Offset); } DicConsole.DebugWriteLine("GDI plugin", "Building offset map"); partitions = new List<Partition>(); - ulong byte_offset = 0; + ulong byteOffset = 0; - for(int i = 0; i < discimage.tracks.Count; i++) + for(int i = 0; i < discimage.Tracks.Count; i++) { - if(discimage.tracks[i].sequence == 1 && i != 0) + if(discimage.Tracks[i].Sequence == 1 && i != 0) throw new ImageNotSupportedException("Unordered tracks"); Partition partition = new Partition(); // Index 01 - partition.Description = string.Format("Track {0}.", discimage.tracks[i].sequence); + partition.Description = string.Format("Track {0}.", discimage.Tracks[i].Sequence); partition.Name = null; - partition.Start = discimage.tracks[i].startSector; - partition.Size = discimage.tracks[i].sectors * discimage.tracks[i].bps; - partition.Length = discimage.tracks[i].sectors; - partition.Sequence = discimage.tracks[i].sequence; - partition.Offset = byte_offset; - partition.Type = discimage.tracks[i].tracktype.ToString(); + partition.Start = discimage.Tracks[i].StartSector; + partition.Size = discimage.Tracks[i].Sectors * discimage.Tracks[i].Bps; + partition.Length = discimage.Tracks[i].Sectors; + partition.Sequence = discimage.Tracks[i].Sequence; + partition.Offset = byteOffset; + partition.Type = discimage.Tracks[i].Tracktype.ToString(); - byte_offset += partition.Size; - offsetmap.Add(discimage.tracks[i].sequence, partition.Start); + byteOffset += partition.Size; + offsetmap.Add(discimage.Tracks[i].Sequence, partition.Start); partitions.Add(partition); } - foreach(GDITrack track in discimage.tracks) ImageInfo.imageSize += track.bps * track.sectors; - foreach(GDITrack track in discimage.tracks) ImageInfo.sectors += track.sectors; + foreach(GdiTrack track in discimage.Tracks) ImageInfo.ImageSize += track.Bps * track.Sectors; + foreach(GdiTrack track in discimage.Tracks) ImageInfo.Sectors += track.Sectors; - ImageInfo.sectors += densitySeparationSectors; + ImageInfo.Sectors += densitySeparationSectors; - ImageInfo.sectorSize = 2352; // All others + ImageInfo.SectorSize = 2352; // All others - foreach(GDITrack track in discimage.tracks) + foreach(GdiTrack track in discimage.Tracks) { - if((track.flags & 0x40) == 0x40 && track.bps == 2352) + if((track.Flags & 0x40) == 0x40 && track.Bps == 2352) { - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSync); - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorHeader); - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorSubHeader); - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC); - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_P); - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorECC_Q); - ImageInfo.readableSectorTags.Add(SectorTagType.CDSectorEDC); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSync); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorHeader); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorSubHeader); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEcc); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccP); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEccQ); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdSectorEdc); } } - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.mediaType = discimage.disktype; + ImageInfo.MediaType = discimage.Disktype; - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackFlags); + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackFlags); - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; - DicConsole.VerboseWriteLine("GDI image describes a disc of type {0}", ImageInfo.mediaType); + DicConsole.VerboseWriteLine("GDI image describes a disc of type {0}", ImageInfo.MediaType); return true; } @@ -453,22 +453,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -502,11 +502,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.sequence == kvp.Key) + if(gdiTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < gdi_track.sectors) + if((sectorAddress - kvp.Value) < gdiTrack.Sectors) return ReadSectors((sectorAddress - kvp.Value), length, kvp.Key); } } @@ -527,11 +527,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.sequence == kvp.Key) + if(gdiTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < gdi_track.sectors) + if((sectorAddress - kvp.Value) < gdiTrack.Sectors) return ReadSectorsTag((sectorAddress - kvp.Value), length, kvp.Key, tag); } } @@ -557,74 +557,74 @@ namespace DiscImageChef.ImagePlugins return new byte[length * 2352]; } - GDITrack _track = new GDITrack(); + GdiTrack _track = new GdiTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.sequence == track) + if(gdiTrack.Sequence == track) { - _track = gdi_track; + _track = gdiTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if((sectorAddress + length) > _track.sectors) + if((sectorAddress + length) > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch(_track.tracktype) + switch(_track.Tracktype) { case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case TrackType.CDMode1: + case TrackType.CdMode1: { - if(_track.bps == 2352) + if(_track.Bps == 2352) { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; } else { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; } break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; ulong remainingSectors = length; - if(_track.pregap > 0 && sectorAddress < _track.pregap) + if(_track.Pregap > 0 && sectorAddress < _track.Pregap) { - ulong remainingPregap = _track.pregap - sectorAddress; + ulong remainingPregap = _track.Pregap - sectorAddress; byte[] zero; if(length > remainingPregap) { - zero = new byte[remainingPregap * sector_size]; + zero = new byte[remainingPregap * sectorSize]; remainingSectors -= remainingPregap; } else { - zero = new byte[length * sector_size]; + zero = new byte[length * sectorSize]; remainingSectors -= length; } @@ -633,21 +633,21 @@ namespace DiscImageChef.ImagePlugins if(remainingSectors == 0) return buffer; - imageStream = _track.trackfilter.GetDataForkStream(); + imageStream = _track.Trackfilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek(_track.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip) + _track.pregap * _track.bps), + .Seek(_track.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip) + _track.Pregap * _track.Bps), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * remainingSectors)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * remainingSectors)); else { for(ulong i = 0; i < remainingSectors; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, (int)(i * sector_size), sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, (int)(i * sectorSize), sectorSize); } } @@ -662,107 +662,107 @@ namespace DiscImageChef.ImagePlugins throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - if(tag == SectorTagType.CDTrackFlags) return new byte[] {0x00}; + if(tag == SectorTagType.CdTrackFlags) return new byte[] {0x00}; throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); } - GDITrack _track = new GDITrack(); + GdiTrack _track = new GdiTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.sequence == track) + if(gdiTrack.Sequence == track) { - _track = gdi_track; + _track = gdiTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if(length > _track.sectors) + if(length > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: { byte[] flags = new byte[1]; - flags[0] += _track.flags; + flags[0] += _track.Flags; return flags; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - switch(_track.tracktype) + switch(_track.Tracktype) { case TrackType.Audio: throw new ArgumentException("There are no tags on audio tracks", nameof(tag)); - case TrackType.CDMode1: + case TrackType.CdMode1: { - if(_track.bps != 2352) + if(_track.Bps != 2352) throw new FeatureNotPresentImageException("Image does not include tags for mode 1 sectors"); switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -773,22 +773,22 @@ namespace DiscImageChef.ImagePlugins default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; ulong remainingSectors = length; - if(_track.pregap > 0 && sectorAddress < _track.pregap) + if(_track.Pregap > 0 && sectorAddress < _track.Pregap) { - ulong remainingPregap = _track.pregap - sectorAddress; + ulong remainingPregap = _track.Pregap - sectorAddress; byte[] zero; if(length > remainingPregap) { - zero = new byte[remainingPregap * sector_size]; + zero = new byte[remainingPregap * sectorSize]; remainingSectors -= remainingPregap; } else { - zero = new byte[length * sector_size]; + zero = new byte[length * sectorSize]; remainingSectors -= length; } @@ -797,21 +797,21 @@ namespace DiscImageChef.ImagePlugins if(remainingSectors == 0) return buffer; - imageStream = _track.trackfilter.GetDataForkStream(); + imageStream = _track.Trackfilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek(_track.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip) + _track.pregap * _track.bps), + .Seek(_track.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip) + _track.Pregap * _track.Bps), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * remainingSectors)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * remainingSectors)); else { for(ulong i = 0; i < remainingSectors; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, (int)(i * sector_size), sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, (int)(i * sectorSize), sectorSize); } } @@ -834,11 +834,11 @@ namespace DiscImageChef.ImagePlugins { if(sectorAddress >= kvp.Value) { - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.sequence == kvp.Key) + if(gdiTrack.Sequence == kvp.Key) { - if((sectorAddress - kvp.Value) < gdi_track.sectors) + if((sectorAddress - kvp.Value) < gdiTrack.Sectors) return ReadSectorsLong((sectorAddress - kvp.Value), length, kvp.Key); } } @@ -859,74 +859,74 @@ namespace DiscImageChef.ImagePlugins return new byte[length * 2352]; } - GDITrack _track = new GDITrack(); + GdiTrack _track = new GdiTrack(); - _track.sequence = 0; + _track.Sequence = 0; - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.sequence == track) + if(gdiTrack.Sequence == track) { - _track = gdi_track; + _track = gdiTrack; break; } } - if(_track.sequence == 0) + if(_track.Sequence == 0) throw new ArgumentOutOfRangeException(nameof(track), "Track does not exist in disc image"); - if((sectorAddress + length) > _track.sectors) + if((sectorAddress + length) > _track.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than present in track, won't cross tracks"); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch(_track.tracktype) + switch(_track.Tracktype) { case TrackType.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case TrackType.CDMode1: + case TrackType.CdMode1: { - if(_track.bps == 2352) + if(_track.Bps == 2352) { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; } else { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; } break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; ulong remainingSectors = length; - if(_track.pregap > 0 && sectorAddress < _track.pregap) + if(_track.Pregap > 0 && sectorAddress < _track.Pregap) { - ulong remainingPregap = _track.pregap - sectorAddress; + ulong remainingPregap = _track.Pregap - sectorAddress; byte[] zero; if(length > remainingPregap) { - zero = new byte[remainingPregap * sector_size]; + zero = new byte[remainingPregap * sectorSize]; remainingSectors -= remainingPregap; } else { - zero = new byte[length * sector_size]; + zero = new byte[length * sectorSize]; remainingSectors -= length; } @@ -935,21 +935,21 @@ namespace DiscImageChef.ImagePlugins if(remainingSectors == 0) return buffer; - imageStream = _track.trackfilter.GetDataForkStream(); + imageStream = _track.Trackfilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek(_track.offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip) + _track.pregap * _track.bps), + .Seek(_track.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip) + _track.Pregap * _track.Bps), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * remainingSectors)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * remainingSectors)); else { for(ulong i = 0; i < remainingSectors; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, (int)(i * sector_size), sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, (int)(i * sectorSize), sectorSize); } } @@ -963,47 +963,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List<Partition> GetPartitions() @@ -1015,25 +1015,25 @@ namespace DiscImageChef.ImagePlugins { List<Track> tracks = new List<Track>(); - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { Track _track = new Track(); _track.Indexes = new Dictionary<int, ulong>(); _track.TrackDescription = null; - _track.TrackStartSector = gdi_track.startSector; - _track.TrackEndSector = _track.TrackStartSector + gdi_track.sectors - 1; - _track.TrackPregap = gdi_track.pregap; - if(gdi_track.highDensity) _track.TrackSession = 2; + _track.TrackStartSector = gdiTrack.StartSector; + _track.TrackEndSector = _track.TrackStartSector + gdiTrack.Sectors - 1; + _track.TrackPregap = gdiTrack.Pregap; + if(gdiTrack.HighDensity) _track.TrackSession = 2; else _track.TrackSession = 1; - _track.TrackSequence = gdi_track.sequence; - _track.TrackType = gdi_track.tracktype; - _track.TrackFilter = gdi_track.trackfilter; - _track.TrackFile = gdi_track.trackfile; - _track.TrackFileOffset = (ulong)gdi_track.offset; + _track.TrackSequence = gdiTrack.Sequence; + _track.TrackType = gdiTrack.Tracktype; + _track.TrackFilter = gdiTrack.Trackfilter; + _track.TrackFile = gdiTrack.Trackfile; + _track.TrackFileOffset = (ulong)gdiTrack.Offset; _track.TrackFileType = "BINARY"; - _track.TrackRawBytesPerSector = gdi_track.bps; - if(gdi_track.tracktype == TrackType.Data) _track.TrackBytesPerSector = 2048; + _track.TrackRawBytesPerSector = gdiTrack.Bps; + if(gdiTrack.Tracktype == TrackType.Data) _track.TrackBytesPerSector = 2048; else _track.TrackBytesPerSector = 2352; _track.TrackSubchannelType = TrackSubchannelType.None; @@ -1045,7 +1045,7 @@ namespace DiscImageChef.ImagePlugins public override List<Track> GetSessionTracks(Session session) { - if(discimage.sessions.Contains(session)) { return GetSessionTracks(session.SessionSequence); } + if(discimage.Sessions.Contains(session)) { return GetSessionTracks(session.SessionSequence); } throw new ImageNotSupportedException("Session does not exist in disc image"); } @@ -1066,27 +1066,27 @@ namespace DiscImageChef.ImagePlugins default: throw new ImageNotSupportedException("Session does not exist in disc image"); } - foreach(GDITrack gdi_track in discimage.tracks) + foreach(GdiTrack gdiTrack in discimage.Tracks) { - if(gdi_track.highDensity == expectedDensity) + if(gdiTrack.HighDensity == expectedDensity) { Track _track = new Track(); _track.Indexes = new Dictionary<int, ulong>(); _track.TrackDescription = null; - _track.TrackStartSector = gdi_track.startSector; - _track.TrackEndSector = _track.TrackStartSector + gdi_track.sectors - 1; - _track.TrackPregap = gdi_track.pregap; - if(gdi_track.highDensity) _track.TrackSession = 2; + _track.TrackStartSector = gdiTrack.StartSector; + _track.TrackEndSector = _track.TrackStartSector + gdiTrack.Sectors - 1; + _track.TrackPregap = gdiTrack.Pregap; + if(gdiTrack.HighDensity) _track.TrackSession = 2; else _track.TrackSession = 1; - _track.TrackSequence = gdi_track.sequence; - _track.TrackType = gdi_track.tracktype; - _track.TrackFilter = gdi_track.trackfilter; - _track.TrackFile = gdi_track.trackfile; - _track.TrackFileOffset = (ulong)gdi_track.offset; + _track.TrackSequence = gdiTrack.Sequence; + _track.TrackType = gdiTrack.Tracktype; + _track.TrackFilter = gdiTrack.Trackfilter; + _track.TrackFile = gdiTrack.Trackfile; + _track.TrackFileOffset = (ulong)gdiTrack.Offset; _track.TrackFileType = "BINARY"; - _track.TrackRawBytesPerSector = gdi_track.bps; - if(gdi_track.tracktype == TrackType.Data) _track.TrackBytesPerSector = 2048; + _track.TrackRawBytesPerSector = gdiTrack.Bps; + if(gdiTrack.Tracktype == TrackType.Data) _track.TrackBytesPerSector = 2048; else _track.TrackBytesPerSector = 2352; _track.TrackSubchannelType = TrackSubchannelType.None; @@ -1099,79 +1099,79 @@ namespace DiscImageChef.ImagePlugins public override List<Session> GetSessions() { - return discimage.sessions; + return discimage.Sessions; } public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -1185,52 +1185,52 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } #endregion Unsupported features } diff --git a/DiscImageChef.DiscImages/HDCopy.cs b/DiscImageChef.DiscImages/HDCopy.cs index e36c61e2f..305450fe0 100644 --- a/DiscImageChef.DiscImages/HDCopy.cs +++ b/DiscImageChef.DiscImages/HDCopy.cs @@ -71,16 +71,16 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class HDCopy : ImagePlugin + public class HdCopy : ImagePlugin { #region Internal structures /// <summary> /// The global header of a HDCP image file /// </summary> [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct HDCPFileHeader + struct HdcpFileHeader { /// <summary> /// Last cylinder (zero-based) @@ -105,7 +105,7 @@ namespace DiscImageChef.ImagePlugins /// The header for a RLE-compressed block /// </summary> [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct HDCPBlockHeader + struct HdcpBlockHeader { /// <summary> /// The length of the compressed block, in bytes. Little-endian. @@ -120,15 +120,15 @@ namespace DiscImageChef.ImagePlugins struct MediaTypeTableEntry { - public byte tracks; - public byte sectorsPerTrack; - public MediaType mediaType; + public byte Tracks; + public byte SectorsPerTrack; + public MediaType MediaType; - public MediaTypeTableEntry(byte _tracks, byte _sectorsPerTrack, MediaType _mediaType) + public MediaTypeTableEntry(byte tracks, byte sectorsPerTrack, MediaType mediaType) { - tracks = _tracks; - sectorsPerTrack = _sectorsPerTrack; - mediaType = _mediaType; + Tracks = tracks; + SectorsPerTrack = sectorsPerTrack; + MediaType = mediaType; } } #endregion @@ -137,7 +137,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// The HDCP file header after the image has been opened /// </summary> - private HDCPFileHeader fileHeader; + private HdcpFileHeader fileHeader; /// <summary> /// Every track that has been read is cached here @@ -167,36 +167,36 @@ namespace DiscImageChef.ImagePlugins }; #endregion - public HDCopy() + public HdCopy() { Name = "HD-Copy disk image"; - PluginUUID = new Guid("8D57483F-71A5-42EC-9B87-66AEC439C792"); + PluginUuid = new Guid("8D57483F-71A5-42EC-9B87-66AEC439C792"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) { - HDCPFileHeader fheader; + HdcpFileHeader fheader; Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); @@ -208,7 +208,7 @@ namespace DiscImageChef.ImagePlugins IntPtr hdrPtr = Marshal.AllocHGlobal(2 + 2 * 82); Marshal.Copy(header, 0, hdrPtr, 2 + 2 * 82); - fheader = (HDCPFileHeader)Marshal.PtrToStructure(hdrPtr, typeof(HDCPFileHeader)); + fheader = (HdcpFileHeader)Marshal.PtrToStructure(hdrPtr, typeof(HdcpFileHeader)); Marshal.FreeHGlobal(hdrPtr); /* Some sanity checks on the values we just read. @@ -232,7 +232,7 @@ namespace DiscImageChef.ImagePlugins public override bool OpenImage(Filter imageFilter) { - HDCPFileHeader fheader; + HdcpFileHeader fheader; long currentOffset; Stream stream = imageFilter.GetDataForkStream(); @@ -243,31 +243,31 @@ namespace DiscImageChef.ImagePlugins IntPtr hdrPtr = Marshal.AllocHGlobal(2 + 2 * 82); Marshal.Copy(header, 0, hdrPtr, 2 + 2 * 82); - fheader = (HDCPFileHeader)Marshal.PtrToStructure(hdrPtr, typeof(HDCPFileHeader)); + fheader = (HdcpFileHeader)Marshal.PtrToStructure(hdrPtr, typeof(HdcpFileHeader)); Marshal.FreeHGlobal(hdrPtr); DicConsole.DebugWriteLine("HDCP plugin", "Detected HD-Copy image with {0} tracks and {1} sectors per track.", fheader.lastCylinder + 1, fheader.sectorsPerTrack); - ImageInfo.cylinders = (uint)fheader.lastCylinder + 1; - ImageInfo.sectorsPerTrack = fheader.sectorsPerTrack; - ImageInfo.sectorSize = 512; // only 512 bytes per sector supported - ImageInfo.heads = 2; // only 2-sided floppies are supported - ImageInfo.sectors = 2 * ImageInfo.cylinders * ImageInfo.sectorsPerTrack; - ImageInfo.imageSize = ImageInfo.sectors * ImageInfo.sectorSize; + ImageInfo.Cylinders = (uint)fheader.lastCylinder + 1; + ImageInfo.SectorsPerTrack = fheader.sectorsPerTrack; + ImageInfo.SectorSize = 512; // only 512 bytes per sector supported + ImageInfo.Heads = 2; // only 2-sided floppies are supported + ImageInfo.Sectors = 2 * ImageInfo.Cylinders * ImageInfo.SectorsPerTrack; + ImageInfo.ImageSize = ImageInfo.Sectors * ImageInfo.SectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.mediaType = GetMediaType(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.MediaType = GetMediaType(); // the start offset of the track data currentOffset = 2 + 2 * 82; // build table of track offsets - for(int i = 0; i < ImageInfo.cylinders * 2; i++) + for(int i = 0; i < ImageInfo.Cylinders * 2; i++) { if(fheader.trackMap[i] == 0) { @@ -313,17 +313,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -333,50 +333,50 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { foreach(MediaTypeTableEntry ent in mediaTypes) { - if((ent.tracks == ImageInfo.cylinders) && (ent.sectorsPerTrack == ImageInfo.sectorsPerTrack)) - return ent.mediaType; + if((ent.Tracks == ImageInfo.Cylinders) && (ent.SectorsPerTrack == ImageInfo.SectorsPerTrack)) + return ent.MediaType; } return MediaType.Unknown; @@ -384,7 +384,7 @@ namespace DiscImageChef.ImagePlugins private void ReadTrackIntoCache(Stream stream, int tracknum) { - byte[] trackData = new byte[ImageInfo.sectorSize * ImageInfo.sectorsPerTrack]; + byte[] trackData = new byte[ImageInfo.SectorSize * ImageInfo.SectorsPerTrack]; byte[] blkHeader = new byte[3]; byte escapeByte; byte fillByte; @@ -423,7 +423,7 @@ namespace DiscImageChef.ImagePlugins } // check that the number of bytes decompressed matches a whole track - if(dIndex != ImageInfo.sectorSize * ImageInfo.sectorsPerTrack) + if(dIndex != ImageInfo.SectorSize * ImageInfo.SectorsPerTrack) throw new InvalidDataException("Track decompression yielded incomplete data"); // store track in cache @@ -432,28 +432,28 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSector(ulong sectorAddress) { - int trackNum = (int)(sectorAddress / ImageInfo.sectorsPerTrack); - int sectorOffset = (int)(sectorAddress % (ImageInfo.sectorsPerTrack * ImageInfo.sectorSize)); + int trackNum = (int)(sectorAddress / ImageInfo.SectorsPerTrack); + int sectorOffset = (int)(sectorAddress % (ImageInfo.SectorsPerTrack * ImageInfo.SectorSize)); byte[] result; - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(trackNum > 2 * ImageInfo.cylinders) + if(trackNum > 2 * ImageInfo.Cylinders) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - result = new byte[ImageInfo.sectorSize]; + result = new byte[ImageInfo.SectorSize]; if(trackOffset[trackNum] == -1) { // track is not present. Fill with zeroes. - Array.Clear(result, 0, (int)ImageInfo.sectorSize); + Array.Clear(result, 0, (int)ImageInfo.SectorSize); } else { // track is present in file, make sure it has been loaded if(!trackCache.ContainsKey(trackNum)) ReadTrackIntoCache(hdcpImageFilter.GetDataForkStream(), trackNum); - Array.Copy(trackCache[trackNum], sectorOffset, result, 0, ImageInfo.sectorSize); + Array.Copy(trackCache[trackNum], sectorOffset, result, 0, ImageInfo.SectorSize); } return result; @@ -461,14 +461,14 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - byte[] result = new byte[length * ImageInfo.sectorSize]; + byte[] result = new byte[length * ImageInfo.SectorSize]; - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); for(int i = 0; i < length; i++) { - ReadSector(sectorAddress + (ulong)i).CopyTo(result, i * ImageInfo.sectorSize); + ReadSector(sectorAddress + (ulong)i).CopyTo(result, i * ImageInfo.SectorSize); } return result; @@ -615,18 +615,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/IMD.cs b/DiscImageChef.DiscImages/IMD.cs index 49872a481..645a132d3 100644 --- a/DiscImageChef.DiscImages/IMD.cs +++ b/DiscImageChef.DiscImages/IMD.cs @@ -39,9 +39,9 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class IMD : ImagePlugin + public class Imd : ImagePlugin { #region Internal enumerations enum TransferRate : byte @@ -53,11 +53,11 @@ namespace DiscImageChef.ImagePlugins /// <summary>250 kbps in FM mode</summary> TwoHundred = 2, /// <summary>500 kbps in MFM mode</summary> - FiveHundredMFM = 3, + FiveHundredMfm = 3, /// <summary>300 kbps in MFM mode</summary> - ThreeHundredMFM = 4, + ThreeHundredMfm = 4, /// <summary>250 kbps in MFM mode</summary> - TwoHundredMFM = 5 + TwoHundredMfm = 5 } enum SectorType : byte @@ -75,10 +75,10 @@ namespace DiscImageChef.ImagePlugins #endregion Internal enumerations #region Internal Constants - const byte SectorCylinderMapMask = 0x80; - const byte SectorHeadMapMask = 0x40; - const byte CommentEnd = 0x1A; - const string HeaderRegEx = + const byte SECTOR_CYLINDER_MAP_MASK = 0x80; + const byte SECTOR_HEAD_MAP_MASK = 0x40; + const byte COMMENT_END = 0x1A; + const string HEADER_REGEX = "IMD (?<version>\\d.\\d+):\\s+(?<day>\\d+)\\/\\s*(?<month>\\d+)\\/(?<year>\\d+)\\s+(?<hour>\\d+):(?<minute>\\d+):(?<second>\\d+)\\r\\n" ; #endregion Internal Constants @@ -87,31 +87,31 @@ namespace DiscImageChef.ImagePlugins List<byte[]> sectorsData; #endregion Internal variables - public IMD() + public Imd() { Name = "Dunfield's IMD"; - PluginUUID = new Guid("0D67162E-38A3-407D-9B1A-CF40080A48CB"); + PluginUuid = new Guid("0D67162E-38A3-407D-9B1A-CF40080A48CB"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } #region Public methods @@ -124,10 +124,10 @@ namespace DiscImageChef.ImagePlugins byte[] hdr = new byte[31]; stream.Read(hdr, 0, 31); - Regex Hr = new Regex(HeaderRegEx); - Match Hm = Hr.Match(Encoding.ASCII.GetString(hdr)); + Regex hr = new Regex(HEADER_REGEX); + Match hm = hr.Match(Encoding.ASCII.GetString(hdr)); - return Hm.Success; + return hm.Success; } public override bool OpenImage(Filter imageFilter) @@ -145,12 +145,12 @@ namespace DiscImageChef.ImagePlugins cmt.WriteByte(b); } - ImageInfo.imageComments = StringHandlers.CToString(cmt.ToArray()); + ImageInfo.ImageComments = StringHandlers.CToString(cmt.ToArray()); sectorsData = new List<byte[]>(); byte currentCylinder = 0; - ImageInfo.cylinders = 1; - ImageInfo.heads = 1; + ImageInfo.Cylinders = 1; + ImageInfo.Heads = 1; ulong currentLba = 0; TransferRate mode = TransferRate.TwoHundred; @@ -170,14 +170,14 @@ namespace DiscImageChef.ImagePlugins if(cylinder != currentCylinder) { currentCylinder = cylinder; - ImageInfo.cylinders++; + ImageInfo.Cylinders++; } - if((head & 1) == 1) ImageInfo.heads = 2; + if((head & 1) == 1) ImageInfo.Heads = 2; stream.Read(idmap, 0, idmap.Length); - if((head & SectorCylinderMapMask) == SectorCylinderMapMask) stream.Read(cylmap, 0, cylmap.Length); - if((head & SectorHeadMapMask) == SectorHeadMapMask) stream.Read(headmap, 0, headmap.Length); + if((head & SECTOR_CYLINDER_MAP_MASK) == SECTOR_CYLINDER_MAP_MASK) stream.Read(cylmap, 0, cylmap.Length); + if((head & SECTOR_HEAD_MAP_MASK) == SECTOR_HEAD_MAP_MASK) stream.Read(headmap, 0, headmap.Length); if(n == 0xFF) { byte[] bpsbytes = new byte[spt * 2]; @@ -186,7 +186,7 @@ namespace DiscImageChef.ImagePlugins } else { for(int i = 0; i < spt; i++) bps[i] = (ushort)(128 << n); } - if(spt > ImageInfo.sectorsPerTrack) ImageInfo.sectorsPerTrack = spt; + if(spt > ImageInfo.SectorsPerTrack) ImageInfo.SectorsPerTrack = spt; SortedDictionary<byte, byte[]> track = new SortedDictionary<byte, byte[]>(); @@ -196,7 +196,7 @@ namespace DiscImageChef.ImagePlugins byte[] data = new byte[bps[i]]; // TODO; Handle disks with different bps in track 0 - if(bps[i] > ImageInfo.sectorSize) ImageInfo.sectorSize = bps[i]; + if(bps[i] > ImageInfo.SectorSize) ImageInfo.SectorSize = bps[i]; switch(type) { @@ -209,7 +209,7 @@ namespace DiscImageChef.ImagePlugins case SectorType.DeletedError: stream.Read(data, 0, data.Length); if(!track.ContainsKey(idmap[i])) track.Add(idmap[i], data); - ImageInfo.imageSize += (ulong)data.Length; + ImageInfo.ImageSize += (ulong)data.Length; break; case SectorType.Compressed: case SectorType.CompressedDeleted: @@ -231,109 +231,109 @@ namespace DiscImageChef.ImagePlugins } } - ImageInfo.imageApplication = "IMD"; + ImageInfo.ImageApplication = "IMD"; // TODO: The header is the date of dump or the date of the application compilation? - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.imageComments = StringHandlers.CToString(cmt.ToArray()); - ImageInfo.sectors = currentLba; - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.ImageComments = StringHandlers.CToString(cmt.ToArray()); + ImageInfo.Sectors = currentLba; + ImageInfo.MediaType = MediaType.Unknown; switch(mode) { case TransferRate.TwoHundred: case TransferRate.ThreeHundred: - if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_SD_40; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_SD_80; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_SD; + if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_SD_40; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_SD_80; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_SD; break; case TransferRate.FiveHundred: - if(ImageInfo.heads == 1 && ImageInfo.cylinders == 32 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 319) ImageInfo.mediaType = MediaType.IBM23FD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 73 && ImageInfo.sectorsPerTrack == 26 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.IBM23FD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 26 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.NEC_8_SD; + if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 32 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 319) ImageInfo.MediaType = MediaType.IBM23FD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 73 && ImageInfo.SectorsPerTrack == 26 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.IBM23FD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 77 && ImageInfo.SectorsPerTrack == 26 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.NEC_8_SD; break; - case TransferRate.TwoHundredMFM: - case TransferRate.ThreeHundredMFM: - if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_SD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 26 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_ED; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ATARI_525_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_DD_40; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_DD_80; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ATARI_525_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.RX50; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; - if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 5 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 82 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.FDFORMAT_35_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.Apricot_35; + case TransferRate.TwoHundredMfm: + case TransferRate.ThreeHundredMfm: + if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_SD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 26 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_ED; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ATARI_525_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_DD_40; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_DD_80; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ATARI_525_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.RX50; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; + if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 5 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.ACORN_35_DS_DD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 82 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.FDFORMAT_35_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 70 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.Apricot_35; break; - case TransferRate.FiveHundredMFM: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 21 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 82 && ImageInfo.sectorsPerTrack == 21 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF_82; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 23 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.XDF_35; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_525_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.SHARP_525_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.ATARI_35_SS_DD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.ATARI_35_DS_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 11 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.ATARI_35_SS_DD_11; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 11 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.ATARI_35_DS_DD_11; + case TransferRate.FiveHundredMfm: + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 21 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DMF; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 82 && ImageInfo.SectorsPerTrack == 21 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DMF_82; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 23 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.XDF_35; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.ACORN_35_DS_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 77 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_525_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.SHARP_525_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.ATARI_35_SS_DD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.ATARI_35_DS_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 11 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.ATARI_35_SS_DD_11; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 11 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.ATARI_35_DS_DD_11; break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - DicConsole.VerboseWriteLine("IMD image contains a disk of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("IMD comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("IMD image contains a disk of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("IMD comments: {0}", ImageInfo.ImageComments); /* FileStream debugFs = new FileStream("debug.img", FileMode.CreateNew, FileAccess.Write); @@ -355,24 +355,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -384,22 +384,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -409,10 +409,10 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); @@ -429,97 +429,97 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } #endregion Public methods diff --git a/DiscImageChef.DiscImages/ImageInfo.cs b/DiscImageChef.DiscImages/ImageInfo.cs index 7a863ddd4..a698207af 100644 --- a/DiscImageChef.DiscImages/ImageInfo.cs +++ b/DiscImageChef.DiscImages/ImageInfo.cs @@ -34,41 +34,41 @@ using System; using System.Collections.Generic; using DiscImageChef.CommonTypes; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public struct ImageInfo { - public bool imageHasPartitions; - public bool imageHasSessions; - public ulong imageSize; - public ulong sectors; - public uint sectorSize; - public List<MediaTagType> readableMediaTags; - public List<SectorTagType> readableSectorTags; - public string imageVersion; - public string imageApplication; - public string imageApplicationVersion; - public string imageCreator; - public DateTime imageCreationTime; - public DateTime imageLastModificationTime; - public string imageName; - public string imageComments; - public string mediaManufacturer; - public string mediaModel; - public string mediaSerialNumber; - public string mediaBarcode; - public string mediaPartNumber; - public MediaType mediaType; - public int mediaSequence; - public int lastMediaSequence; - public string driveManufacturer; - public string driveModel; - public string driveSerialNumber; - public string driveFirmwareRevision; - public XmlMediaType xmlMediaType; + public bool ImageHasPartitions; + public bool ImageHasSessions; + public ulong ImageSize; + public ulong Sectors; + public uint SectorSize; + public List<MediaTagType> ReadableMediaTags; + public List<SectorTagType> ReadableSectorTags; + public string ImageVersion; + public string ImageApplication; + public string ImageApplicationVersion; + public string ImageCreator; + public DateTime ImageCreationTime; + public DateTime ImageLastModificationTime; + public string ImageName; + public string ImageComments; + public string MediaManufacturer; + public string MediaModel; + public string MediaSerialNumber; + public string MediaBarcode; + public string MediaPartNumber; + public MediaType MediaType; + public int MediaSequence; + public int LastMediaSequence; + public string DriveManufacturer; + public string DriveModel; + public string DriveSerialNumber; + public string DriveFirmwareRevision; + public XmlMediaType XmlMediaType; // CHS geometry... - public uint cylinders; - public uint heads; - public uint sectorsPerTrack; + public uint Cylinders; + public uint Heads; + public uint SectorsPerTrack; } } \ No newline at end of file diff --git a/DiscImageChef.DiscImages/ImagePlugin.cs b/DiscImageChef.DiscImages/ImagePlugin.cs index 6a0b1c0d3..a9cd07deb 100644 --- a/DiscImageChef.DiscImages/ImagePlugin.cs +++ b/DiscImageChef.DiscImages/ImagePlugin.cs @@ -35,7 +35,7 @@ using System.Collections.Generic; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { /// <summary> /// Abstract class to implement disk image reading plugins. @@ -45,7 +45,7 @@ namespace DiscImageChef.ImagePlugins /// <summary>Plugin name.</summary> public string Name; /// <summary>Plugin UUID.</summary> - public Guid PluginUUID; + public Guid PluginUuid; /// <summary>Image information</summary> public ImageInfo ImageInfo; @@ -385,10 +385,10 @@ namespace DiscImageChef.ImagePlugins /// <returns>True if all are correct, false if any is incorrect, null if any is uncheckable.</returns> /// <param name="sectorAddress">Starting sector address (LBA).</param> /// <param name="length">How many sectors to read.</param> - /// <param name="FailingLBAs">List of incorrect sectors</param> - /// <param name="UnknownLBAs">List of uncheckable sectors</param> - public abstract bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs); + /// <param name="failingLbas">List of incorrect sectors</param> + /// <param name="unknownLbas">List of uncheckable sectors</param> + public abstract bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas); /// <summary> /// Verifies several sectors, relative to track. @@ -397,10 +397,10 @@ namespace DiscImageChef.ImagePlugins /// <param name="sectorAddress">Starting sector address (relative LBA).</param> /// <param name="length">How many sectors to read.</param> /// <param name="track">Track.</param> - /// <param name="FailingLBAs">List of incorrect sectors</param> - /// <param name="UnknownLBAs">List of uncheckable sectors</param> - public abstract bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs); + /// <param name="failingLbas">List of incorrect sectors</param> + /// <param name="unknownLbas">List of uncheckable sectors</param> + public abstract bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas); /// <summary> /// Verifies media image internal checksum. @@ -411,13 +411,13 @@ namespace DiscImageChef.ImagePlugins // CD flags bitmask /// <summary>Track is quadraphonic.</summary> - public const byte CDFlagsFourChannel = 0x20; + public const byte CdFlagsFourChannel = 0x20; /// <summary>Track is non-audio (data).</summary> - public const byte CDFlagsDataTrack = 0x10; + public const byte CdFlagsDataTrack = 0x10; /// <summary>Track is copy protected.</summary> - public const byte CDFlagsCopyPrevent = 0x08; + public const byte CdFlagsCopyPrevent = 0x08; /// <summary>Track has pre-emphasis.</summary> - public const byte CDFlagsPreEmphasis = 0x04; + public const byte CdFlagsPreEmphasis = 0x04; } /// <summary> @@ -430,13 +430,13 @@ namespace DiscImageChef.ImagePlugins /// <summary>Data track (not any of the below defined ones)</summary> Data, /// <summary>Data track, compact disc mode 1</summary> - CDMode1, + CdMode1, /// <summary>Data track, compact disc mode 2, formless</summary> - CDMode2Formless, + CdMode2Formless, /// <summary>Data track, compact disc mode 2, form 1</summary> - CDMode2Form1, + CdMode2Form1, /// <summary>Data track, compact disc mode 2, form 2</summary> - CDMode2Form2 + CdMode2Form2 }; /// <summary> @@ -542,29 +542,29 @@ namespace DiscImageChef.ImagePlugins /// <summary>Apple's GCR sector tags, 12 bytes</summary> AppleSectorTag, /// <summary>Sync frame from CD sector, 12 bytes</summary> - CDSectorSync, + CdSectorSync, /// <summary>CD sector header, 4 bytes</summary> - CDSectorHeader, + CdSectorHeader, /// <summary>CD mode 2 sector subheader</summary> - CDSectorSubHeader, + CdSectorSubHeader, /// <summary>CD sector EDC, 4 bytes</summary> - CDSectorEDC, + CdSectorEdc, /// <summary>CD sector ECC P, 172 bytes</summary> - CDSectorECC_P, + CdSectorEccP, /// <summary>CD sector ECC Q, 104 bytes</summary> - CDSectorECC_Q, + CdSectorEccQ, /// <summary>CD sector ECC (P and Q), 276 bytes</summary> - CDSectorECC, + CdSectorEcc, /// <summary>CD sector subchannel, 96 bytes</summary> - CDSectorSubchannel, + CdSectorSubchannel, /// <summary>CD track ISRC, string, 12 bytes</summary> - CDTrackISRC, + CdTrackIsrc, /// <summary>CD track text, string, 13 bytes</summary> - CDTrackText, + CdTrackText, /// <summary>CD track flags, 1 byte</summary> - CDTrackFlags, + CdTrackFlags, /// <summary>DVD sector copyright information</summary> - DVD_CMI, + DvdCmi, /// <summary>Floppy address mark (contents depend on underlying floppy format)</summary> FloppyAddressMark }; diff --git a/DiscImageChef.DiscImages/KryoFlux.cs b/DiscImageChef.DiscImages/KryoFlux.cs index c5c17d99a..fe7b5df36 100644 --- a/DiscImageChef.DiscImages/KryoFlux.cs +++ b/DiscImageChef.DiscImages/KryoFlux.cs @@ -39,7 +39,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class KryoFlux : ImagePlugin { @@ -102,29 +102,29 @@ namespace DiscImageChef.ImagePlugins public KryoFlux() { Name = "KryoFlux STREAM"; - PluginUUID = new Guid("4DBC95E4-93EE-4F7A-9492-919887E60EFE"); + PluginUuid = new Guid("4DBC95E4-93EE-4F7A-9492-919887E60EFE"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -242,8 +242,8 @@ namespace DiscImageChef.ImagePlugins trackFilter.Open(trackfile); if(!trackFilter.IsOpened()) throw new IOException("Could not open KryoFlux track file."); - ImageInfo.imageCreationTime = DateTime.MaxValue; - ImageInfo.imageLastModificationTime = DateTime.MinValue; + ImageInfo.ImageCreationTime = DateTime.MaxValue; + ImageInfo.ImageLastModificationTime = DateTime.MinValue; Stream trackStream = trackFilter.GetDataForkStream(); while(trackStream.Position < trackStream.Length) @@ -305,8 +305,8 @@ namespace DiscImageChef.ImagePlugins DateTime.TryParseExact(kvp[1], "HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal, out blockTime); } - else if(kvp[0] == kfName) ImageInfo.imageApplication = kvp[1]; - else if(kvp[0] == kfVersion) ImageInfo.imageApplicationVersion = kvp[1]; + else if(kvp[0] == kfName) ImageInfo.ImageApplication = kvp[1]; + else if(kvp[0] == kfVersion) ImageInfo.ImageApplicationVersion = kvp[1]; } if(foundDate) @@ -315,10 +315,10 @@ namespace DiscImageChef.ImagePlugins blockTime.Hour, blockTime.Minute, blockTime.Second); DicConsole.DebugWriteLine("KryoFlux plugin", "Found timestamp: {0}", blockTimestamp); - if(blockTimestamp < ImageInfo.imageCreationTime) - ImageInfo.imageCreationTime = blockTimestamp; - if(blockTimestamp > ImageInfo.imageLastModificationTime) - ImageInfo.imageLastModificationTime = blockTimestamp; + if(blockTimestamp < ImageInfo.ImageCreationTime) + ImageInfo.ImageCreationTime = blockTimestamp; + if(blockTimestamp > ImageInfo.ImageLastModificationTime) + ImageInfo.ImageLastModificationTime = blockTimestamp; } break; @@ -345,8 +345,8 @@ namespace DiscImageChef.ImagePlugins tracks.Add(t, trackFilter); } - ImageInfo.heads = heads; - ImageInfo.cylinders = (uint)(tracks.Count / heads); + ImageInfo.Heads = heads; + ImageInfo.Cylinders = (uint)(tracks.Count / heads); #endregion TODO: This is supposing NoFilter, shouldn't throw new NotImplementedException("Flux decoding is not yet implemented."); @@ -354,22 +354,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -419,97 +419,97 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override bool? VerifySector(ulong sectorAddress) @@ -517,8 +517,8 @@ namespace DiscImageChef.ImagePlugins throw new NotImplementedException("Flux decoding is not yet implemented."); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new NotImplementedException("Flux decoding is not yet implemented."); } @@ -580,8 +580,8 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/MaxiDisk.cs b/DiscImageChef.DiscImages/MaxiDisk.cs index 4ad4fa058..4d6d1c888 100644 --- a/DiscImageChef.DiscImages/MaxiDisk.cs +++ b/DiscImageChef.DiscImages/MaxiDisk.cs @@ -38,7 +38,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class MaxiDisk : ImagePlugin { @@ -81,26 +81,26 @@ namespace DiscImageChef.ImagePlugins public MaxiDisk() { Name = "MAXI Disk image"; - PluginUUID = new Guid("D27D924A-7034-466E-ADE1-B81EF37E469E"); + PluginUuid = new Guid("D27D924A-7034-466E-ADE1-B81EF37E469E"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "MAXI Disk"; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "MAXI Disk"; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -184,69 +184,69 @@ namespace DiscImageChef.ImagePlugins if(expectedFileSize != stream.Length) return false; - ImageInfo.cylinders = tmp_header.cylinders; - ImageInfo.heads = tmp_header.heads; - ImageInfo.sectorsPerTrack = tmp_header.sectorsPerTrack; - ImageInfo.sectors = (ulong)(tmp_header.heads * tmp_header.cylinders * tmp_header.sectorsPerTrack); - ImageInfo.sectorSize = (uint)(128 << tmp_header.bytesPerSector); + ImageInfo.Cylinders = tmp_header.cylinders; + ImageInfo.Heads = tmp_header.heads; + ImageInfo.SectorsPerTrack = tmp_header.sectorsPerTrack; + ImageInfo.Sectors = (ulong)(tmp_header.heads * tmp_header.cylinders * tmp_header.sectorsPerTrack); + ImageInfo.SectorSize = (uint)(128 << tmp_header.bytesPerSector); hdkImageFilter = imageFilter; - ImageInfo.imageSize = (ulong)(stream.Length - 8); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageSize = (ulong)(stream.Length - 8); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_DS_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 16 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_DD_80; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 10 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ACORN_525_SS_SD_80; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_525_HD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_SD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 26 && - ImageInfo.sectorSize == 128) ImageInfo.mediaType = MediaType.ATARI_525_ED; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 256) ImageInfo.mediaType = MediaType.ATARI_525_DD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 36 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_ED; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 18 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 21 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 82 && ImageInfo.sectorsPerTrack == 21 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DMF_82; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 77 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.NEC_35_HD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.NEC_35_HD_15; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 5 && - ImageInfo.sectorSize == 1024) ImageInfo.mediaType = MediaType.ACORN_35_DS_DD; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9 && - ImageInfo.sectorSize == 512) ImageInfo.mediaType = MediaType.Apricot_35; - else ImageInfo.mediaType = MediaType.Unknown; + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_DS_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 16 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_DD_80; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 10 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ACORN_525_SS_SD_80; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 77 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_525_HD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_SD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 26 && + ImageInfo.SectorSize == 128) ImageInfo.MediaType = MediaType.ATARI_525_ED; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 256) ImageInfo.MediaType = MediaType.ATARI_525_DD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 36 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_ED; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 18 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 21 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DMF; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 82 && ImageInfo.SectorsPerTrack == 21 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DMF_82; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 77 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.NEC_35_HD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.NEC_35_HD_15; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 5 && + ImageInfo.SectorSize == 1024) ImageInfo.MediaType = MediaType.ACORN_35_DS_DD; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 70 && ImageInfo.SectorsPerTrack == 9 && + ImageInfo.SectorSize == 512) ImageInfo.MediaType = MediaType.Apricot_35; + else ImageInfo.MediaType = MediaType.Unknown; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; return true; } @@ -261,24 +261,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -290,22 +290,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -320,17 +320,17 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = hdkImageFilter.GetDataForkStream(); - stream.Seek((long)(8 + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Seek((long)(8 + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -357,37 +357,37 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -398,62 +398,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -511,22 +511,5 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } #endregion Unsupported features - - #region Private methods - private static uint DC42CheckSum(byte[] buffer) - { - uint dc42chk = 0; - if((buffer.Length & 0x01) == 0x01) return 0xFFFFFFFF; - - for(uint i = 0; i < buffer.Length; i += 2) - { - dc42chk += (uint)(buffer[i] << 8); - dc42chk += buffer[i + 1]; - dc42chk = (dc42chk >> 1) | (dc42chk << 31); - } - - return dc42chk; - } - #endregion } } \ No newline at end of file diff --git a/DiscImageChef.DiscImages/NDIF.cs b/DiscImageChef.DiscImages/NDIF.cs index cf25fd3f5..f5e61ea25 100644 --- a/DiscImageChef.DiscImages/NDIF.cs +++ b/DiscImageChef.DiscImages/NDIF.cs @@ -39,7 +39,7 @@ using Claunia.RsrcFork; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using SharpCompress.Compressors; using SharpCompress.Compressors.ADC; @@ -49,17 +49,17 @@ namespace DiscImageChef.DiscImages // TODO: Check checksum // TODO: Implement segments // TODO: Implement compression - public class NDIF : ImagePlugin + public class Ndif : ImagePlugin { #region Internal constants /// <summary> /// Resource OSType for NDIF is "bcem" /// </summary> - const uint NDIF_Resource = 0x6263656D; + const uint NDIF_RESOURCE = 0x6263656D; /// <summary> /// Resource ID is always 128? Never found another /// </summary> - const short NDIF_ResourceID = 128; + const short NDIF_RESOURCEID = 128; #endregion #region Internal Structures @@ -170,60 +170,60 @@ namespace DiscImageChef.DiscImages ChunkHeader header; Dictionary<ulong, BlockChunk> chunks; - const byte ChunkType_NoCopy = 0; - const byte ChunkType_Copy = 2; - const byte ChunkType_KenCode = 0x80; - const byte ChunkType_RLE = 0x81; - const byte ChunkType_LZH = 0x82; - const byte ChunkType_ADC = 0x83; + const byte CHUNK_TYPE_NOCOPY = 0; + const byte CHUNK_TYPE_COPY = 2; + const byte CHUNK_TYPE_KENCODE = 0x80; + const byte CHUNK_TYPE_RLE = 0x81; + const byte CHUNK_TYPE_LZH = 0x82; + const byte CHUNK_TYPE_ADC = 0x83; /// <summary> /// Created by ShrinkWrap 3.5, dunno which version of the StuffIt algorithm it is using /// </summary> - const byte ChunkType_StuffIt = 0xF0; - const byte ChunkType_End = 0xFF; + const byte CHUNK_TYPE_STUFFIT = 0xF0; + const byte CHUNK_TYPE_END = 0xFF; - const byte ChunkType_CompressedMask = 0x80; + const byte CHUNK_TYPE_COMPRESSED_MASK = 0x80; - const short Driver_OSX = -1; - const short Driver_HFS = 0; - const short Driver_ProDOS = 256; - const short Driver_DOS = 18771; + const short DRIVER_OSX = -1; + const short DRIVER_HFS = 0; + const short DRIVER_PRODOS = 256; + const short DRIVER_DOS = 18771; Dictionary<ulong, byte[]> sectorCache; Dictionary<ulong, byte[]> chunkCache; - const uint MaxCacheSize = 16777216; - const uint sectorSize = 512; - uint maxCachedSectors = MaxCacheSize / sectorSize; + const uint MAX_CACHE_SIZE = 16777216; + const uint SECTOR_SIZE = 512; + uint maxCachedSectors = MAX_CACHE_SIZE / SECTOR_SIZE; uint currentChunkCacheSize; uint buffersize; Stream imageStream; - public NDIF() + public Ndif() { Name = "Apple New Disk Image Format"; - PluginUUID = new Guid("5A7FF7D8-491E-458D-8674-5B5EADBECC24"); + PluginUuid = new Guid("5A7FF7D8-491E-458D-8674-5B5EADBECC24"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -235,11 +235,11 @@ namespace DiscImageChef.DiscImages try { rsrcFork = new ResourceFork(imageFilter.GetResourceForkStream()); - if(!rsrcFork.ContainsKey(NDIF_Resource)) return false; + if(!rsrcFork.ContainsKey(NDIF_RESOURCE)) return false; - Resource rsrc = rsrcFork.GetResource(NDIF_Resource); + Resource rsrc = rsrcFork.GetResource(NDIF_RESOURCE); - if(rsrc.ContainsId(NDIF_ResourceID)) return true; + if(rsrc.ContainsId(NDIF_RESOURCEID)) return true; } catch(InvalidCastException) { return false; } @@ -257,9 +257,9 @@ namespace DiscImageChef.DiscImages try { rsrcFork = new ResourceFork(imageFilter.GetResourceForkStream()); - if(!rsrcFork.ContainsKey(NDIF_Resource)) return false; + if(!rsrcFork.ContainsKey(NDIF_RESOURCE)) return false; - rsrc = rsrcFork.GetResource(NDIF_Resource); + rsrc = rsrcFork.GetResource(NDIF_RESOURCE); bcems = rsrc.GetIds(); @@ -267,10 +267,10 @@ namespace DiscImageChef.DiscImages } catch(InvalidCastException) { return false; } - ImageInfo.sectors = 0; + ImageInfo.Sectors = 0; foreach(short id in bcems) { - byte[] bcem = rsrc.GetResource(NDIF_ResourceID); + byte[] bcem = rsrc.GetResource(NDIF_RESOURCEID); if(bcem.Length < 128) return false; @@ -319,25 +319,25 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("NDIF plugin", "bHdr.chunk[{0}].offset = {1}", i, bChnk.offset); DicConsole.DebugWriteLine("NDIF plugin", "bHdr.chunk[{0}].length = {1}", i, bChnk.length); - if(bChnk.type == ChunkType_End) break; + if(bChnk.type == CHUNK_TYPE_END) break; bChnk.offset += header.dataOffset; - bChnk.sector += (uint)ImageInfo.sectors; + bChnk.sector += (uint)ImageInfo.Sectors; // TODO: Handle compressed chunks - if((bChnk.type == ChunkType_KenCode)) + if((bChnk.type == CHUNK_TYPE_KENCODE)) throw new ImageNotSupportedException("Chunks compressed with KenCode are not yet supported."); - if((bChnk.type == ChunkType_RLE)) + if((bChnk.type == CHUNK_TYPE_RLE)) throw new ImageNotSupportedException("Chunks compressed with RLE are not yet supported."); - if((bChnk.type == ChunkType_LZH)) + if((bChnk.type == CHUNK_TYPE_LZH)) throw new ImageNotSupportedException("Chunks compressed with LZH are not yet supported."); - if((bChnk.type == ChunkType_StuffIt)) + if((bChnk.type == CHUNK_TYPE_STUFFIT)) throw new ImageNotSupportedException("Chunks compressed with StuffIt! are not yet supported."); // TODO: Handle compressed chunks - if((bChnk.type > ChunkType_Copy && bChnk.type < ChunkType_KenCode) || - (bChnk.type > ChunkType_ADC && bChnk.type < ChunkType_StuffIt) || - (bChnk.type > ChunkType_StuffIt && bChnk.type < ChunkType_End) || + if((bChnk.type > CHUNK_TYPE_COPY && bChnk.type < CHUNK_TYPE_KENCODE) || + (bChnk.type > CHUNK_TYPE_ADC && bChnk.type < CHUNK_TYPE_STUFFIT) || + (bChnk.type > CHUNK_TYPE_STUFFIT && bChnk.type < CHUNK_TYPE_END) || bChnk.type == 1) throw new ImageNotSupportedException(string.Format("Unsupported chunk type 0x{0:X8} found", bChnk.type)); @@ -345,29 +345,29 @@ namespace DiscImageChef.DiscImages chunks.Add(bChnk.sector, bChnk); } - ImageInfo.sectors += header.sectors; + ImageInfo.Sectors += header.sectors; } if(header.segmented > 0) throw new ImageNotSupportedException("Segmented images are not yet supported."); if(header.encrypted > 0) throw new ImageNotSupportedException("Encrypted images are not yet supported."); - switch(ImageInfo.sectors) + switch(ImageInfo.Sectors) { case 1440: - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; break; case 1600: - ImageInfo.mediaType = MediaType.AppleSonyDS; + ImageInfo.MediaType = MediaType.AppleSonyDS; break; case 2880: - ImageInfo.mediaType = MediaType.DOS_35_HD; + ImageInfo.MediaType = MediaType.DOS_35_HD; break; case 3360: - ImageInfo.mediaType = MediaType.DMF; + ImageInfo.MediaType = MediaType.DMF; break; default: - ImageInfo.mediaType = MediaType.GENERIC_HDD; + ImageInfo.MediaType = MediaType.GENERIC_HDD; break; } @@ -406,61 +406,61 @@ namespace DiscImageChef.DiscImages if(dev != null) pre = string.Format("{0}", version.PreReleaseVersion); - ImageInfo.imageApplicationVersion = + ImageInfo.ImageApplicationVersion = string.Format("{0}{1}{2}{3}{4}", major, minor, release, dev, pre); - ImageInfo.imageApplication = version.VersionString; - ImageInfo.imageComments = version.VersionMessage; + ImageInfo.ImageApplication = version.VersionString; + ImageInfo.ImageComments = version.VersionMessage; - if(version.MajorVersion == 3) ImageInfo.imageApplication = "ShrinkWrap™"; - else if(version.MajorVersion == 6) ImageInfo.imageApplication = "DiskCopy"; + if(version.MajorVersion == 3) ImageInfo.ImageApplication = "ShrinkWrap™"; + else if(version.MajorVersion == 6) ImageInfo.ImageApplication = "DiskCopy"; } } - DicConsole.DebugWriteLine("NDIF plugin", "Image application = {0} version {1}", ImageInfo.imageApplication, - ImageInfo.imageApplicationVersion); + DicConsole.DebugWriteLine("NDIF plugin", "Image application = {0} version {1}", ImageInfo.ImageApplication, + ImageInfo.ImageApplicationVersion); sectorCache = new Dictionary<ulong, byte[]>(); chunkCache = new Dictionary<ulong, byte[]>(); currentChunkCacheSize = 0; imageStream = imageFilter.GetDataForkStream(); - buffersize = header.maxSectorsPerChunk * sectorSize; + buffersize = header.maxSectorsPerChunk * SECTOR_SIZE; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = StringHandlers.PascalToString(header.name, Encoding.GetEncoding("macintosh")); - ImageInfo.sectorSize = sectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.imageSize = ImageInfo.sectors * sectorSize; - ImageInfo.imageApplicationVersion = "6"; - ImageInfo.imageApplication = "Apple DiskCopy"; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = StringHandlers.PascalToString(header.name, Encoding.GetEncoding("macintosh")); + ImageInfo.SectorSize = SECTOR_SIZE; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.ImageSize = ImageInfo.Sectors * SECTOR_SIZE; + ImageInfo.ImageApplicationVersion = "6"; + ImageInfo.ImageApplication = "Apple DiskCopy"; - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.AppleSonyDS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.DOS_35_DS_DD_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_35_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 18; break; case MediaType.DMF: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 21; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 21; break; default: - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; break; } @@ -469,7 +469,7 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -491,7 +491,7 @@ namespace DiscImageChef.DiscImages } } - long relOff = ((long)sectorAddress - (long)chunkStartSector) * sectorSize; + long relOff = ((long)sectorAddress - (long)chunkStartSector) * SECTOR_SIZE; if(relOff < 0) throw new ArgumentOutOfRangeException(nameof(relOff), @@ -503,7 +503,7 @@ namespace DiscImageChef.DiscImages throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if((currentChunk.type & ChunkType_CompressedMask) == ChunkType_CompressedMask) + if((currentChunk.type & CHUNK_TYPE_COMPRESSED_MASK) == CHUNK_TYPE_COMPRESSED_MASK) { byte[] buffer; if(!chunkCache.TryGetValue(chunkStartSector, out buffer)) @@ -514,7 +514,7 @@ namespace DiscImageChef.DiscImages MemoryStream cmpMs = new MemoryStream(cmpBuffer); Stream decStream; - if(currentChunk.type == ChunkType_ADC) decStream = new ADCStream(cmpMs, CompressionMode.Decompress); + if(currentChunk.type == CHUNK_TYPE_ADC) decStream = new ADCStream(cmpMs, CompressionMode.Decompress); else throw new ImageNotSupportedException(string.Format("Unsupported chunk type 0x{0:X8} found", currentChunk.type)); @@ -525,7 +525,7 @@ namespace DiscImageChef.DiscImages Array.Copy(tmpBuffer, 0, buffer, 0, realSize); tmpBuffer = null; - if(currentChunkCacheSize + realSize > MaxCacheSize) + if(currentChunkCacheSize + realSize > MAX_CACHE_SIZE) { chunkCache.Clear(); currentChunkCacheSize = 0; @@ -535,8 +535,8 @@ namespace DiscImageChef.DiscImages currentChunkCacheSize += (uint)realSize; } - sector = new byte[sectorSize]; - Array.Copy(buffer, relOff, sector, 0, sectorSize); + sector = new byte[SECTOR_SIZE]; + Array.Copy(buffer, relOff, sector, 0, SECTOR_SIZE); if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -545,9 +545,9 @@ namespace DiscImageChef.DiscImages return sector; } - if(currentChunk.type == ChunkType_NoCopy) + if(currentChunk.type == CHUNK_TYPE_NOCOPY) { - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -555,10 +555,10 @@ namespace DiscImageChef.DiscImages return sector; } - if(currentChunk.type == ChunkType_Copy) + if(currentChunk.type == CHUNK_TYPE_COPY) { imageStream.Seek(currentChunk.offset + relOff, SeekOrigin.Begin); - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; imageStream.Read(sector, 0, sector.Length); if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -573,11 +573,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -598,17 +598,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -618,47 +618,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -802,18 +802,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/NHDr0.cs b/DiscImageChef.DiscImages/NHDr0.cs index 4d6fa5e62..972d86e5e 100644 --- a/DiscImageChef.DiscImages/NHDr0.cs +++ b/DiscImageChef.DiscImages/NHDr0.cs @@ -40,14 +40,14 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // Info from http://www.geocities.jp/t98next/nhdr0.txt - public class NHDr0 : ImagePlugin + public class Nhdr0 : ImagePlugin { #region Internal structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct NHDr0Header + struct Nhdr0Header { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)] public byte[] szFileID; public byte reserved1; @@ -65,36 +65,36 @@ namespace DiscImageChef.ImagePlugins readonly byte[] signature = {0x54, 0x39, 0x38, 0x48, 0x44, 0x44, 0x49, 0x4D, 0x41, 0x47, 0x45, 0x2E, 0x52, 0x30, 0x00}; - public NHDr0() + public Nhdr0() { Name = "T98-Next NHD r0 Disk Image"; - PluginUUID = new Guid("6ECACD0A-8F4D-4465-8815-AEA000D370E3"); + PluginUuid = new Guid("6ECACD0A-8F4D-4465-8815-AEA000D370E3"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } - NHDr0Header nhdhdr; + Nhdr0Header nhdhdr; Filter nhdImageFilter; public override bool IdentifyImage(Filter imageFilter) @@ -104,15 +104,15 @@ namespace DiscImageChef.ImagePlugins // Even if comment is supposedly ASCII, I'm pretty sure most emulators allow Shift-JIS to be used :p Encoding shiftjis = Encoding.GetEncoding("shift_jis"); - nhdhdr = new NHDr0Header(); + nhdhdr = new Nhdr0Header(); if(stream.Length < Marshal.SizeOf(nhdhdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(nhdhdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(nhdhdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); - nhdhdr = (NHDr0Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(NHDr0Header)); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); + nhdhdr = (Nhdr0Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Nhdr0Header)); handle.Free(); if(!nhdhdr.szFileID.SequenceEqual(signature)) return false; @@ -138,30 +138,30 @@ namespace DiscImageChef.ImagePlugins // Even if comment is supposedly ASCII, I'm pretty sure most emulators allow Shift-JIS to be used :p Encoding shiftjis = Encoding.GetEncoding("shift_jis"); - nhdhdr = new NHDr0Header(); + nhdhdr = new Nhdr0Header(); if(stream.Length < Marshal.SizeOf(nhdhdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(nhdhdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(nhdhdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); - nhdhdr = (NHDr0Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(NHDr0Header)); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); + nhdhdr = (Nhdr0Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Nhdr0Header)); handle.Free(); - ImageInfo.mediaType = MediaType.GENERIC_HDD; + ImageInfo.MediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = (ulong)(stream.Length - nhdhdr.dwHeadSize); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = (ulong)(nhdhdr.dwCylinder * nhdhdr.wHead * nhdhdr.wSect); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = (uint)nhdhdr.wSectLen; - ImageInfo.cylinders = (uint)nhdhdr.dwCylinder; - ImageInfo.heads = (uint)nhdhdr.wHead; - ImageInfo.sectorsPerTrack = (uint)nhdhdr.wSect; - ImageInfo.imageComments = StringHandlers.CToString(nhdhdr.szComment, shiftjis); + ImageInfo.ImageSize = (ulong)(stream.Length - nhdhdr.dwHeadSize); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = (ulong)(nhdhdr.dwCylinder * nhdhdr.wHead * nhdhdr.wSect); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = (uint)nhdhdr.wSectLen; + ImageInfo.Cylinders = (uint)nhdhdr.dwCylinder; + ImageInfo.Heads = (uint)nhdhdr.wHead; + ImageInfo.SectorsPerTrack = (uint)nhdhdr.wSect; + ImageInfo.ImageComments = StringHandlers.CToString(nhdhdr.szComment, shiftjis); nhdImageFilter = imageFilter; @@ -175,17 +175,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -195,47 +195,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -245,19 +245,19 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = nhdImageFilter.GetDataForkStream(); - stream.Seek((long)((ulong)nhdhdr.dwHeadSize + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)((ulong)nhdhdr.dwHeadSize + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -403,18 +403,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/Nero.cs b/DiscImageChef.DiscImages/Nero.cs index a5930d0e6..8cd5de9b3 100644 --- a/DiscImageChef.DiscImages/Nero.cs +++ b/DiscImageChef.DiscImages/Nero.cs @@ -38,7 +38,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class Nero : ImagePlugin { @@ -48,7 +48,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "NERO" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Offset of first chunk in file @@ -61,7 +61,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "NER5" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Offset of first chunk in file @@ -94,7 +94,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// LBA sector start for this entry /// </summary> - public int LBAStart; + public int LbaStart; } struct NeroV2Cuesheet @@ -102,7 +102,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "CUEX" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -158,7 +158,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "CUES" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -171,12 +171,12 @@ namespace DiscImageChef.ImagePlugins public List<NeroV1CueEntry> Entries; } - struct NeroV1DAOEntry + struct NeroV1DaoEntry { /// <summary> /// ISRC (12 bytes) /// </summary> - public byte[] ISRC; + public byte[] Isrc; /// <summary> /// Size of sector inside image (in bytes) @@ -209,12 +209,12 @@ namespace DiscImageChef.ImagePlugins public uint EndOfTrack; } - struct NeroV1DAO + struct NeroV1Dao { /// <summary> /// "DAOI" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size (big endian) @@ -229,7 +229,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// UPC (14 bytes, null-padded) /// </summary> - public byte[] UPC; + public byte[] Upc; /// <summary> /// TOC type @@ -249,15 +249,15 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Tracks /// </summary> - public List<NeroV1DAOEntry> Tracks; + public List<NeroV1DaoEntry> Tracks; } - struct NeroV2DAOEntry + struct NeroV2DaoEntry { /// <summary> /// ISRC (12 bytes) /// </summary> - public byte[] ISRC; + public byte[] Isrc; /// <summary> /// Size of sector inside image (in bytes) @@ -290,12 +290,12 @@ namespace DiscImageChef.ImagePlugins public ulong EndOfTrack; } - struct NeroV2DAO + struct NeroV2Dao { /// <summary> /// "DAOX" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size (big endian) @@ -310,7 +310,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// UPC (14 bytes, null-padded) /// </summary> - public byte[] UPC; + public byte[] Upc; /// <summary> /// TOC type @@ -330,10 +330,10 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Tracks /// </summary> - public List<NeroV2DAOEntry> Tracks; + public List<NeroV2DaoEntry> Tracks; } - struct NeroCDTextPack + struct NeroCdTextPack { /// <summary> /// Pack type @@ -363,15 +363,15 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// CRC /// </summary> - public ushort CRC; + public ushort Crc; } - struct NeroCDText + struct NeroCdText { /// <summary> /// "CDTX" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -381,10 +381,10 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// CD-TEXT packs /// </summary> - public List<NeroCDTextPack> Packs; + public List<NeroCdTextPack> Packs; } - struct NeroV1TAOEntry + struct NeroV1TaoEntry { /// <summary> /// Offset of track on image @@ -404,7 +404,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// LBA track start (plus 150 lead in sectors) /// </summary> - public uint StartLBA; + public uint StartLba; /// <summary> /// Unknown @@ -412,12 +412,12 @@ namespace DiscImageChef.ImagePlugins public uint Unknown; } - struct NeroV1TAO + struct NeroV1Tao { /// <summary> /// "ETNF" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -427,10 +427,10 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// CD-TEXT packs /// </summary> - public List<NeroV1TAOEntry> Tracks; + public List<NeroV1TaoEntry> Tracks; } - struct NeroV2TAOEntry + struct NeroV2TaoEntry { /// <summary> /// Offset of track on image @@ -450,7 +450,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// LBA track start (plus 150 lead in sectors) /// </summary> - public uint StartLBA; + public uint StartLba; /// <summary> /// Unknown @@ -463,12 +463,12 @@ namespace DiscImageChef.ImagePlugins public uint Sectors; } - struct NeroV2TAO + struct NeroV2Tao { /// <summary> /// "ETN2" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -478,7 +478,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// CD-TEXT packs /// </summary> - public List<NeroV2TAOEntry> Tracks; + public List<NeroV2TaoEntry> Tracks; } struct NeroSession @@ -486,7 +486,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "SINF" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -504,7 +504,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "MTYP" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -522,7 +522,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "DINF" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -535,12 +535,12 @@ namespace DiscImageChef.ImagePlugins public uint Unknown; } - struct NeroTOCChunk + struct NeroTocChunk { /// <summary> /// "TOCT" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -553,12 +553,12 @@ namespace DiscImageChef.ImagePlugins public ushort Unknown; } - struct NeroRELOChunk + struct NeroReloChunk { /// <summary> /// "RELO" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -576,7 +576,7 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// "END!" /// </summary> - public uint ChunkID; + public uint ChunkId; /// <summary> /// Chunk size @@ -587,13 +587,13 @@ namespace DiscImageChef.ImagePlugins // Internal use only struct NeroTrack { - public byte[] ISRC; + public byte[] Isrc; public ushort SectorSize; public ulong Offset; public ulong Length; public ulong EndOfTrack; public uint Mode; - public ulong StartLBA; + public ulong StartLba; public ulong Sectors; public ulong Index0; public ulong Index1; @@ -603,51 +603,51 @@ namespace DiscImageChef.ImagePlugins #region Internal consts // "NERO" - public const uint NeroV1FooterID = 0x4E45524F; + public const uint NeroV1FooterId = 0x4E45524F; // "NER5" - public const uint NeroV2FooterID = 0x4E455235; + public const uint NeroV2FooterId = 0x4E455235; // "CUES" - public const uint NeroV1CUEID = 0x43554553; + public const uint NeroV1Cueid = 0x43554553; // "CUEX" - public const uint NeroV2CUEID = 0x43554558; + public const uint NeroV2Cueid = 0x43554558; // "ETNF" - public const uint NeroV1TAOID = 0x45544E46; + public const uint NeroV1Taoid = 0x45544E46; // "ETN2" - public const uint NeroV2TAOID = 0x45544E32; + public const uint NeroV2Taoid = 0x45544E32; // "DAOI" - public const uint NeroV1DAOID = 0x44414F49; + public const uint NeroV1Daoid = 0x44414F49; // "DAOX" - public const uint NeroV2DAOID = 0x44414F58; + public const uint NeroV2Daoid = 0x44414F58; // "CDTX" - public const uint NeroCDTextID = 0x43445458; + public const uint NeroCdTextId = 0x43445458; // "SINF" - public const uint NeroSessionID = 0x53494E46; + public const uint NeroSessionId = 0x53494E46; // "MTYP" - public const uint NeroDiskTypeID = 0x4D545950; + public const uint NeroDiskTypeId = 0x4D545950; // "DINF" - public const uint NeroDiscInfoID = 0x44494E46; + public const uint NeroDiscInfoId = 0x44494E46; // "TOCT" - public const uint NeroTOCID = 0x544F4354; + public const uint NeroTocid = 0x544F4354; // "RELO" - public const uint NeroReloID = 0x52454C4F; + public const uint NeroReloId = 0x52454C4F; // "END!" - public const uint NeroEndID = 0x454E4421; + public const uint NeroEndId = 0x454E4421; - public enum DAOMode : ushort + public enum DaoMode : ushort { Data = 0x0000, DataM2F1 = 0x0002, @@ -666,210 +666,210 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// No media /// </summary> - NERO_MTYP_NONE = 0x00000, + NeroMtypNone = 0x00000, /// <summary> /// CD-R/RW /// </summary> - NERO_MTYP_CD = 0x00001, + NeroMtypCd = 0x00001, /// <summary> /// DDCD-R/RW /// </summary> - NERO_MTYP_DDCD = 0x00002, + NeroMtypDdcd = 0x00002, /// <summary> /// DVD-R/RW /// </summary> - NERO_MTYP_DVD_M = 0x00004, + NeroMtypDvdM = 0x00004, /// <summary> /// DVD+RW /// </summary> - NERO_MTYP_DVD_P = 0x00008, + NeroMtypDvdP = 0x00008, /// <summary> /// DVD-RAM /// </summary> - NERO_MTYP_DVD_RAM = 0x00010, + NeroMtypDvdRam = 0x00010, /// <summary> /// Multi-level disc /// </summary> - NERO_MTYP_ML = 0x00020, + NeroMtypMl = 0x00020, /// <summary> /// Mount Rainier /// </summary> - NERO_MTYP_MRW = 0x00040, + NeroMtypMrw = 0x00040, /// <summary> /// Exclude CD-R /// </summary> - NERO_MTYP_NO_CDR = 0x00080, + NeroMtypNoCdr = 0x00080, /// <summary> /// Exclude CD-RW /// </summary> - NERO_MTYP_NO_CDRW = 0x00100, + NeroMtypNoCdrw = 0x00100, /// <summary> /// CD-RW /// </summary> - NERO_MTYP_CDRW = NERO_MTYP_CD | NERO_MTYP_NO_CDR, + NeroMtypCdrw = NeroMtypCd | NeroMtypNoCdr, /// <summary> /// CD-R /// </summary> - NERO_MTYP_CDR = NERO_MTYP_CD | NERO_MTYP_NO_CDRW, + NeroMtypCdr = NeroMtypCd | NeroMtypNoCdrw, /// <summary> /// DVD-ROM /// </summary> - NERO_MTYP_DVD_ROM = 0x00200, + NeroMtypDvdRom = 0x00200, /// <summary> /// CD-ROM /// </summary> - NERO_MTYP_CDROM = 0x00400, + NeroMtypCdrom = 0x00400, /// <summary> /// Exclude DVD-RW /// </summary> - NERO_MTYP_NO_DVD_M_RW = 0x00800, + NeroMtypNoDvdMRw = 0x00800, /// <summary> /// Exclude DVD-R /// </summary> - NERO_MTYP_NO_DVD_M_R = 0x01000, + NeroMtypNoDvdMR = 0x01000, /// <summary> /// Exclude DVD+RW /// </summary> - NERO_MTYP_NO_DVD_P_RW = 0x02000, + NeroMtypNoDvdPRw = 0x02000, /// <summary> /// Exclude DVD+R /// </summary> - NERO_MTYP_NO_DVD_P_R = 0x04000, + NeroMtypNoDvdPR = 0x04000, /// <summary> /// DVD-R /// </summary> - NERO_MTYP_DVD_M_R = NERO_MTYP_DVD_M | NERO_MTYP_NO_DVD_M_RW, + NeroMtypDvdMR = NeroMtypDvdM | NeroMtypNoDvdMRw, /// <summary> /// DVD-RW /// </summary> - NERO_MTYP_DVD_M_RW = NERO_MTYP_DVD_M | NERO_MTYP_NO_DVD_M_R, + NeroMtypDvdMRw = NeroMtypDvdM | NeroMtypNoDvdMR, /// <summary> /// DVD+R /// </summary> - NERO_MTYP_DVD_P_R = NERO_MTYP_DVD_P | NERO_MTYP_NO_DVD_P_RW, + NeroMtypDvdPR = NeroMtypDvdP | NeroMtypNoDvdPRw, /// <summary> /// DVD+RW /// </summary> - NERO_MTYP_DVD_P_RW = NERO_MTYP_DVD_P | NERO_MTYP_NO_DVD_P_R, + NeroMtypDvdPRw = NeroMtypDvdP | NeroMtypNoDvdPR, /// <summary> /// Packet-writing (fixed) /// </summary> - NERO_MTYP_FPACKET = 0x08000, + NeroMtypFpacket = 0x08000, /// <summary> /// Packet-writing (variable) /// </summary> - NERO_MTYP_VPACKET = 0x10000, + NeroMtypVpacket = 0x10000, /// <summary> /// Packet-writing (any) /// </summary> - NERO_MTYP_PACKETW = NERO_MTYP_MRW | NERO_MTYP_FPACKET | NERO_MTYP_VPACKET, + NeroMtypPacketw = NeroMtypMrw | NeroMtypFpacket | NeroMtypVpacket, /// <summary> /// HD-Burn /// </summary> - NERO_MTYP_HDB = 0x20000, + NeroMtypHdb = 0x20000, /// <summary> /// DVD+R DL /// </summary> - NERO_MTYP_DVD_P_R9 = 0x40000, + NeroMtypDvdPR9 = 0x40000, /// <summary> /// DVD-R DL /// </summary> - NERO_MTYP_DVD_M_R9 = 0x80000, + NeroMtypDvdMR9 = 0x80000, /// <summary> /// Any DVD double-layer /// </summary> - NERO_MTYP_DVD_ANY_R9 = NERO_MTYP_DVD_P_R9 | NERO_MTYP_DVD_M_R9, + NeroMtypDvdAnyR9 = NeroMtypDvdPR9 | NeroMtypDvdMR9, /// <summary> /// Any DVD /// </summary> - NERO_MTYP_DVD_ANY = NERO_MTYP_DVD_M | NERO_MTYP_DVD_P | NERO_MTYP_DVD_RAM | NERO_MTYP_DVD_ANY_R9, + NeroMtypDvdAny = NeroMtypDvdM | NeroMtypDvdP | NeroMtypDvdRam | NeroMtypDvdAnyR9, /// <summary> /// BD-ROM /// </summary> - NERO_MTYP_BD_ROM = 0x100000, + NeroMtypBdRom = 0x100000, /// <summary> /// BD-R /// </summary> - NERO_MTYP_BD_R = 0x200000, + NeroMtypBdR = 0x200000, /// <summary> /// BD-RE /// </summary> - NERO_MTYP_BD_RE = 0x400000, + NeroMtypBdRe = 0x400000, /// <summary> /// BD-R/RE /// </summary> - NERO_MTYP_BD = NERO_MTYP_BD_R | NERO_MTYP_BD_RE, + NeroMtypBd = NeroMtypBdR | NeroMtypBdRe, /// <summary> /// Any BD /// </summary> - NERO_MTYP_BD_ANY = NERO_MTYP_BD | NERO_MTYP_BD_ROM, + NeroMtypBdAny = NeroMtypBd | NeroMtypBdRom, /// <summary> /// HD DVD-ROM /// </summary> - NERO_MTYP_HD_DVD_ROM = 0x0800000, + NeroMtypHdDvdRom = 0x0800000, /// <summary> /// HD DVD-R /// </summary> - NERO_MTYP_HD_DVD_R = 0x1000000, + NeroMtypHdDvdR = 0x1000000, /// <summary> /// HD DVD-RW /// </summary> - NERO_MTYP_HD_DVD_RW = 0x2000000, + NeroMtypHdDvdRw = 0x2000000, /// <summary> /// HD DVD-R/RW /// </summary> - NERO_MTYP_HD_DVD = NERO_MTYP_HD_DVD_R | NERO_MTYP_HD_DVD_RW, + NeroMtypHdDvd = NeroMtypHdDvdR | NeroMtypHdDvdRw, /// <summary> /// Any HD DVD /// </summary> - NERO_MTYP_HD_DVD_ANY = NERO_MTYP_HD_DVD | NERO_MTYP_HD_DVD_ROM, + NeroMtypHdDvdAny = NeroMtypHdDvd | NeroMtypHdDvdRom, /// <summary> /// Any DVD, old /// </summary> - NERO_MTYP_DVD_ANY_OLD = NERO_MTYP_DVD_M | NERO_MTYP_DVD_P | NERO_MTYP_DVD_RAM, + NeroMtypDvdAnyOld = NeroMtypDvdM | NeroMtypDvdP | NeroMtypDvdRam, } #endregion #region Internal variables - Filter _imageFilter; + Filter imageFilter; Stream imageStream; bool imageNewFormat; Dictionary<ushort, uint> neroSessions; NeroV1Cuesheet neroCuesheetV1; NeroV2Cuesheet neroCuesheetV2; - NeroV1DAO neroDAOV1; - NeroV2DAO neroDAOV2; - NeroCDText neroCDTXT; - NeroV1TAO neroTAOV1; - NeroV2TAO neroTAOV2; + NeroV1Dao neroDaov1; + NeroV2Dao neroDaov2; + NeroCdText neroCdtxt; + NeroV1Tao neroTaov1; + NeroV2Tao neroTaov2; NeroMediaType neroMediaTyp; NeroDiscInformation neroDiscInfo; - NeroTOCChunk neroTOC; - NeroRELOChunk neroRELO; + NeroTocChunk neroToc; + NeroReloChunk neroRelo; List<Track> imageTracks; - Dictionary<uint, byte[]> TrackISRCs; - byte[] UPC; + Dictionary<uint, byte[]> trackIsrCs; + byte[] upc; Dictionary<uint, NeroTrack> neroTracks; Dictionary<uint, ulong> offsetmap; List<Session> imageSessions; - List<Partition> ImagePartitions; + List<Partition> imagePartitions; #endregion #region Methods public Nero() { Name = "Nero Burning ROM image"; - PluginUUID = new Guid("D160F9FF-5941-43FC-B037-AD81DD141F05"); + PluginUuid = new Guid("D160F9FF-5941-43FC-B037-AD81DD141F05"); imageNewFormat = false; ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); neroSessions = new Dictionary<ushort, uint>(); neroTracks = new Dictionary<uint, NeroTrack>(); offsetmap = new Dictionary<uint, ulong>(); imageSessions = new List<Session>(); - ImagePartitions = new List<Partition>(); + imagePartitions = new List<Partition>(); } // Due to .cue format, this method must parse whole file, ignoring errors (those will be thrown by OpenImage()). @@ -885,26 +885,26 @@ namespace DiscImageChef.ImagePlugins imageStream.Seek(-8, SeekOrigin.End); buffer = new byte[8]; imageStream.Read(buffer, 0, 8); - footerV1.ChunkID = BigEndianBitConverter.ToUInt32(buffer, 0); + footerV1.ChunkId = BigEndianBitConverter.ToUInt32(buffer, 0); footerV1.FirstChunkOffset = BigEndianBitConverter.ToUInt32(buffer, 4); imageStream.Seek(-12, SeekOrigin.End); buffer = new byte[12]; imageStream.Read(buffer, 0, 12); - footerV2.ChunkID = BigEndianBitConverter.ToUInt32(buffer, 0); + footerV2.ChunkId = BigEndianBitConverter.ToUInt32(buffer, 0); footerV2.FirstChunkOffset = BigEndianBitConverter.ToUInt64(buffer, 4); DicConsole.DebugWriteLine("Nero plugin", "imageStream.Length = {0}", imageStream.Length); - DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X8}", footerV1.ChunkID); + DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X8}", footerV1.ChunkId); DicConsole.DebugWriteLine("Nero plugin", "footerV1.FirstChunkOffset = {0}", footerV1.FirstChunkOffset); - DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X8}", footerV2.ChunkID); + DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X8}", footerV2.ChunkId); DicConsole.DebugWriteLine("Nero plugin", "footerV2.FirstChunkOffset = {0}", footerV2.FirstChunkOffset); - if(footerV2.ChunkID == NeroV2FooterID && footerV2.FirstChunkOffset < (ulong)imageStream.Length) + if(footerV2.ChunkId == NeroV2FooterId && footerV2.FirstChunkOffset < (ulong)imageStream.Length) { return true; } - if(footerV1.ChunkID == NeroV1FooterID && footerV1.FirstChunkOffset < (ulong)imageStream.Length) + if(footerV1.ChunkId == NeroV1FooterId && footerV1.FirstChunkOffset < (ulong)imageStream.Length) { return true; } @@ -926,28 +926,28 @@ namespace DiscImageChef.ImagePlugins imageStream.Seek(-8, SeekOrigin.End); buffer = new byte[8]; imageStream.Read(buffer, 0, 8); - footerV1.ChunkID = BigEndianBitConverter.ToUInt32(buffer, 0); + footerV1.ChunkId = BigEndianBitConverter.ToUInt32(buffer, 0); footerV1.FirstChunkOffset = BigEndianBitConverter.ToUInt32(buffer, 4); imageStream.Seek(-12, SeekOrigin.End); buffer = new byte[12]; imageStream.Read(buffer, 0, 12); - footerV2.ChunkID = BigEndianBitConverter.ToUInt32(buffer, 0); + footerV2.ChunkId = BigEndianBitConverter.ToUInt32(buffer, 0); footerV2.FirstChunkOffset = BigEndianBitConverter.ToUInt64(buffer, 4); DicConsole.DebugWriteLine("Nero plugin", "imageStream.Length = {0}", imageStream.Length); - DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X8} (\"{1}\")", footerV1.ChunkID, + DicConsole.DebugWriteLine("Nero plugin", "footerV1.ChunkID = 0x{0:X8} (\"{1}\")", footerV1.ChunkId, System.Text.Encoding.ASCII - .GetString(BigEndianBitConverter.GetBytes(footerV1.ChunkID))); + .GetString(BigEndianBitConverter.GetBytes(footerV1.ChunkId))); DicConsole.DebugWriteLine("Nero plugin", "footerV1.FirstChunkOffset = {0}", footerV1.FirstChunkOffset); - DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X8} (\"{1}\")", footerV2.ChunkID, + DicConsole.DebugWriteLine("Nero plugin", "footerV2.ChunkID = 0x{0:X8} (\"{1}\")", footerV2.ChunkId, System.Text.Encoding.ASCII - .GetString(BigEndianBitConverter.GetBytes(footerV2.ChunkID))); + .GetString(BigEndianBitConverter.GetBytes(footerV2.ChunkId))); DicConsole.DebugWriteLine("Nero plugin", "footerV2.FirstChunkOffset = {0}", footerV2.FirstChunkOffset); - if(footerV1.ChunkID == NeroV1FooterID && footerV1.FirstChunkOffset < (ulong)imageStream.Length) + if(footerV1.ChunkId == NeroV1FooterId && footerV1.FirstChunkOffset < (ulong)imageStream.Length) imageNewFormat = false; - else if(footerV2.ChunkID == NeroV2FooterID && footerV2.FirstChunkOffset < (ulong)imageStream.Length) + else if(footerV2.ChunkId == NeroV2FooterId && footerV2.FirstChunkOffset < (ulong)imageStream.Length) imageNewFormat = true; else { @@ -963,472 +963,472 @@ namespace DiscImageChef.ImagePlugins uint currenttrack = 1; imageTracks = new List<Track>(); - TrackISRCs = new Dictionary<uint, byte[]>(); + trackIsrCs = new Dictionary<uint, byte[]>(); - ImageInfo.mediaType = MediaType.CD; - ImageInfo.sectors = 0; - ImageInfo.sectorSize = 0; + ImageInfo.MediaType = MediaType.CD; + ImageInfo.Sectors = 0; + ImageInfo.SectorSize = 0; while(parsing) { - byte[] ChunkHeaderBuffer = new byte[8]; - uint ChunkID; - uint ChunkLength; + byte[] chunkHeaderBuffer = new byte[8]; + uint chunkId; + uint chunkLength; - imageStream.Read(ChunkHeaderBuffer, 0, 8); - ChunkID = BigEndianBitConverter.ToUInt32(ChunkHeaderBuffer, 0); - ChunkLength = BigEndianBitConverter.ToUInt32(ChunkHeaderBuffer, 4); + imageStream.Read(chunkHeaderBuffer, 0, 8); + chunkId = BigEndianBitConverter.ToUInt32(chunkHeaderBuffer, 0); + chunkLength = BigEndianBitConverter.ToUInt32(chunkHeaderBuffer, 4); - DicConsole.DebugWriteLine("Nero plugin", "ChunkID = 0x{0:X8} (\"{1}\")", ChunkID, + DicConsole.DebugWriteLine("Nero plugin", "ChunkID = 0x{0:X8} (\"{1}\")", chunkId, System.Text.Encoding.ASCII - .GetString(BigEndianBitConverter.GetBytes(ChunkID))); - DicConsole.DebugWriteLine("Nero plugin", "ChunkLength = {0}", ChunkLength); + .GetString(BigEndianBitConverter.GetBytes(chunkId))); + DicConsole.DebugWriteLine("Nero plugin", "ChunkLength = {0}", chunkLength); - switch(ChunkID) + switch(chunkId) { - case NeroV1CUEID: + case NeroV1Cueid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"CUES\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); neroCuesheetV1 = new NeroV1Cuesheet(); - neroCuesheetV1.ChunkID = ChunkID; - neroCuesheetV1.ChunkSize = ChunkLength; + neroCuesheetV1.ChunkId = chunkId; + neroCuesheetV1.ChunkSize = chunkLength; neroCuesheetV1.Entries = new List<NeroV1CueEntry>(); byte[] tmpbuffer = new byte[8]; for(int i = 0; i < neroCuesheetV1.ChunkSize; i += 8) { - NeroV1CueEntry _entry = new NeroV1CueEntry(); + NeroV1CueEntry entry = new NeroV1CueEntry(); imageStream.Read(tmpbuffer, 0, 8); - _entry.Mode = tmpbuffer[0]; - _entry.TrackNumber = tmpbuffer[1]; - _entry.IndexNumber = tmpbuffer[2]; - _entry.Dummy = BigEndianBitConverter.ToUInt16(tmpbuffer, 3); - _entry.Minute = tmpbuffer[5]; - _entry.Second = tmpbuffer[6]; - _entry.Frame = tmpbuffer[7]; + entry.Mode = tmpbuffer[0]; + entry.TrackNumber = tmpbuffer[1]; + entry.IndexNumber = tmpbuffer[2]; + entry.Dummy = BigEndianBitConverter.ToUInt16(tmpbuffer, 3); + entry.Minute = tmpbuffer[5]; + entry.Second = tmpbuffer[6]; + entry.Frame = tmpbuffer[7]; DicConsole.DebugWriteLine("Nero plugin", "Cuesheet entry {0}", (i / 8) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = {1:X2}", (i / 8) + 1, - _entry.Mode); + entry.Mode); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].TrackNumber = {1:X2}", - (i / 8) + 1, _entry.TrackNumber); + (i / 8) + 1, entry.TrackNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].IndexNumber = {1:X2}", - (i / 8) + 1, _entry.IndexNumber); + (i / 8) + 1, entry.IndexNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Dummy = {1:X4}", (i / 8) + 1, - _entry.Dummy); + entry.Dummy); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Minute = {1:X2}", (i / 8) + 1, - _entry.Minute); + entry.Minute); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Second = {1:X2}", (i / 8) + 1, - _entry.Second); + entry.Second); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Frame = {1:X2}", (i / 8) + 1, - _entry.Frame); + entry.Frame); - neroCuesheetV1.Entries.Add(_entry); + neroCuesheetV1.Entries.Add(entry); } break; } - case NeroV2CUEID: + case NeroV2Cueid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"CUEX\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); neroCuesheetV2 = new NeroV2Cuesheet(); - neroCuesheetV2.ChunkID = ChunkID; - neroCuesheetV2.ChunkSize = ChunkLength; + neroCuesheetV2.ChunkId = chunkId; + neroCuesheetV2.ChunkSize = chunkLength; neroCuesheetV2.Entries = new List<NeroV2CueEntry>(); byte[] tmpbuffer = new byte[8]; for(int i = 0; i < neroCuesheetV2.ChunkSize; i += 8) { - NeroV2CueEntry _entry = new NeroV2CueEntry(); + NeroV2CueEntry entry = new NeroV2CueEntry(); imageStream.Read(tmpbuffer, 0, 8); - _entry.Mode = tmpbuffer[0]; - _entry.TrackNumber = tmpbuffer[1]; - _entry.IndexNumber = tmpbuffer[2]; - _entry.Dummy = tmpbuffer[3]; - _entry.LBAStart = BigEndianBitConverter.ToInt32(tmpbuffer, 4); + entry.Mode = tmpbuffer[0]; + entry.TrackNumber = tmpbuffer[1]; + entry.IndexNumber = tmpbuffer[2]; + entry.Dummy = tmpbuffer[3]; + entry.LbaStart = BigEndianBitConverter.ToInt32(tmpbuffer, 4); DicConsole.DebugWriteLine("Nero plugin", "Cuesheet entry {0}", (i / 8) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = 0x{1:X2}", (i / 8) + 1, - _entry.Mode); + entry.Mode); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].TrackNumber = {1:X2}", - (i / 8) + 1, _entry.TrackNumber); + (i / 8) + 1, entry.TrackNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].IndexNumber = {1:X2}", - (i / 8) + 1, _entry.IndexNumber); + (i / 8) + 1, entry.IndexNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Dummy = {1:X2}", (i / 8) + 1, - _entry.Dummy); + entry.Dummy); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].LBAStart = {1}", (i / 8) + 1, - _entry.LBAStart); + entry.LbaStart); - neroCuesheetV2.Entries.Add(_entry); + neroCuesheetV2.Entries.Add(entry); } break; } - case NeroV1DAOID: + case NeroV1Daoid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"DAOI\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroDAOV1 = new NeroV1DAO(); - neroDAOV1.ChunkID = ChunkID; - neroDAOV1.ChunkSizeBe = ChunkLength; + neroDaov1 = new NeroV1Dao(); + neroDaov1.ChunkId = chunkId; + neroDaov1.ChunkSizeBe = chunkLength; byte[] tmpbuffer = new byte[22]; imageStream.Read(tmpbuffer, 0, 22); - neroDAOV1.ChunkSizeLe = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); - neroDAOV1.UPC = new byte[14]; - Array.Copy(tmpbuffer, 4, neroDAOV1.UPC, 0, 14); - neroDAOV1.TocType = BigEndianBitConverter.ToUInt16(tmpbuffer, 18); - neroDAOV1.FirstTrack = tmpbuffer[20]; - neroDAOV1.LastTrack = tmpbuffer[21]; - neroDAOV1.Tracks = new List<NeroV1DAOEntry>(); + neroDaov1.ChunkSizeLe = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); + neroDaov1.Upc = new byte[14]; + Array.Copy(tmpbuffer, 4, neroDaov1.Upc, 0, 14); + neroDaov1.TocType = BigEndianBitConverter.ToUInt16(tmpbuffer, 18); + neroDaov1.FirstTrack = tmpbuffer[20]; + neroDaov1.LastTrack = tmpbuffer[21]; + neroDaov1.Tracks = new List<NeroV1DaoEntry>(); - if(!ImageInfo.readableMediaTags.Contains(MediaTagType.CD_MCN)) - ImageInfo.readableMediaTags.Add(MediaTagType.CD_MCN); + if(!ImageInfo.ReadableMediaTags.Contains(MediaTagType.CD_MCN)) + ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_MCN); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDTrackISRC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackISRC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdTrackIsrc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackIsrc); DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.ChunkSizeLe = {0} bytes", - neroDAOV1.ChunkSizeLe); + neroDaov1.ChunkSizeLe); DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.UPC = \"{0}\"", - StringHandlers.CToString(neroDAOV1.UPC)); - DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.TocType = 0x{0:X4}", neroDAOV1.TocType); + StringHandlers.CToString(neroDaov1.Upc)); + DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.TocType = 0x{0:X4}", neroDaov1.TocType); DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.FirstTrack = {0}", - neroDAOV1.FirstTrack); - DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.LastTrack = {0}", neroDAOV1.LastTrack); + neroDaov1.FirstTrack); + DicConsole.DebugWriteLine("Nero plugin", "neroDAOV1.LastTrack = {0}", neroDaov1.LastTrack); - UPC = neroDAOV1.UPC; + upc = neroDaov1.Upc; tmpbuffer = new byte[30]; - for(int i = 0; i < (neroDAOV1.ChunkSizeBe - 22); i += 30) + for(int i = 0; i < (neroDaov1.ChunkSizeBe - 22); i += 30) { - NeroV1DAOEntry _entry = new NeroV1DAOEntry(); + NeroV1DaoEntry entry = new NeroV1DaoEntry(); imageStream.Read(tmpbuffer, 0, 30); - _entry.ISRC = new byte[12]; - Array.Copy(tmpbuffer, 4, _entry.ISRC, 0, 12); - _entry.SectorSize = BigEndianBitConverter.ToUInt16(tmpbuffer, 12); - _entry.Mode = BitConverter.ToUInt16(tmpbuffer, 14); - _entry.Unknown = BigEndianBitConverter.ToUInt16(tmpbuffer, 16); - _entry.Index0 = BigEndianBitConverter.ToUInt32(tmpbuffer, 18); - _entry.Index1 = BigEndianBitConverter.ToUInt32(tmpbuffer, 22); - _entry.EndOfTrack = BigEndianBitConverter.ToUInt32(tmpbuffer, 26); + entry.Isrc = new byte[12]; + Array.Copy(tmpbuffer, 4, entry.Isrc, 0, 12); + entry.SectorSize = BigEndianBitConverter.ToUInt16(tmpbuffer, 12); + entry.Mode = BitConverter.ToUInt16(tmpbuffer, 14); + entry.Unknown = BigEndianBitConverter.ToUInt16(tmpbuffer, 16); + entry.Index0 = BigEndianBitConverter.ToUInt32(tmpbuffer, 18); + entry.Index1 = BigEndianBitConverter.ToUInt32(tmpbuffer, 22); + entry.EndOfTrack = BigEndianBitConverter.ToUInt32(tmpbuffer, 26); DicConsole.DebugWriteLine("Nero plugin", "Disc-At-Once entry {0}", (i / 32) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].ISRC = \"{1}\"", (i / 32) + 1, - StringHandlers.CToString(_entry.ISRC)); + StringHandlers.CToString(entry.Isrc)); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].SectorSize = {1}", - (i / 32) + 1, _entry.SectorSize); + (i / 32) + 1, entry.SectorSize); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = {1} (0x{2:X4})", - (i / 32) + 1, (DAOMode)_entry.Mode, _entry.Mode); + (i / 32) + 1, (DaoMode)entry.Mode, entry.Mode); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Unknown = 0x{1:X4}", - (i / 32) + 1, _entry.Unknown); + (i / 32) + 1, entry.Unknown); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Index0 = {1}", (i / 32) + 1, - _entry.Index0); + entry.Index0); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Index1 = {1}", (i / 32) + 1, - _entry.Index1); + entry.Index1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].EndOfTrack = {1}", - (i / 32) + 1, _entry.EndOfTrack); + (i / 32) + 1, entry.EndOfTrack); - neroDAOV1.Tracks.Add(_entry); + neroDaov1.Tracks.Add(entry); - if(_entry.SectorSize > ImageInfo.sectorSize) ImageInfo.sectorSize = _entry.SectorSize; + if(entry.SectorSize > ImageInfo.SectorSize) ImageInfo.SectorSize = entry.SectorSize; - TrackISRCs.Add(currenttrack, _entry.ISRC); - if(currenttrack == 1) _entry.Index0 = _entry.Index1; + trackIsrCs.Add(currenttrack, entry.Isrc); + if(currenttrack == 1) entry.Index0 = entry.Index1; - NeroTrack _neroTrack = new NeroTrack(); - _neroTrack.EndOfTrack = _entry.EndOfTrack; - _neroTrack.ISRC = _entry.ISRC; - _neroTrack.Length = _entry.EndOfTrack - _entry.Index0; - _neroTrack.Mode = _entry.Mode; - _neroTrack.Offset = _entry.Index0; - _neroTrack.Sectors = _neroTrack.Length / _entry.SectorSize; - _neroTrack.SectorSize = _entry.SectorSize; - _neroTrack.StartLBA = ImageInfo.sectors; - _neroTrack.Index0 = _entry.Index0; - _neroTrack.Index1 = _entry.Index1; - _neroTrack.Sequence = currenttrack; - neroTracks.Add(currenttrack, _neroTrack); + NeroTrack neroTrack = new NeroTrack(); + neroTrack.EndOfTrack = entry.EndOfTrack; + neroTrack.Isrc = entry.Isrc; + neroTrack.Length = entry.EndOfTrack - entry.Index0; + neroTrack.Mode = entry.Mode; + neroTrack.Offset = entry.Index0; + neroTrack.Sectors = neroTrack.Length / entry.SectorSize; + neroTrack.SectorSize = entry.SectorSize; + neroTrack.StartLba = ImageInfo.Sectors; + neroTrack.Index0 = entry.Index0; + neroTrack.Index1 = entry.Index1; + neroTrack.Sequence = currenttrack; + neroTracks.Add(currenttrack, neroTrack); - ImageInfo.sectors += _neroTrack.Sectors; + ImageInfo.Sectors += neroTrack.Sectors; currenttrack++; } break; } - case NeroV2DAOID: + case NeroV2Daoid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"DAOX\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroDAOV2 = new NeroV2DAO(); - neroDAOV2.ChunkID = ChunkID; - neroDAOV2.ChunkSizeBe = ChunkLength; + neroDaov2 = new NeroV2Dao(); + neroDaov2.ChunkId = chunkId; + neroDaov2.ChunkSizeBe = chunkLength; byte[] tmpbuffer = new byte[22]; imageStream.Read(tmpbuffer, 0, 22); - neroDAOV2.ChunkSizeLe = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); - neroDAOV2.UPC = new byte[14]; - Array.Copy(tmpbuffer, 4, neroDAOV2.UPC, 0, 14); - neroDAOV2.TocType = BigEndianBitConverter.ToUInt16(tmpbuffer, 18); - neroDAOV2.FirstTrack = tmpbuffer[20]; - neroDAOV2.LastTrack = tmpbuffer[21]; - neroDAOV2.Tracks = new List<NeroV2DAOEntry>(); + neroDaov2.ChunkSizeLe = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); + neroDaov2.Upc = new byte[14]; + Array.Copy(tmpbuffer, 4, neroDaov2.Upc, 0, 14); + neroDaov2.TocType = BigEndianBitConverter.ToUInt16(tmpbuffer, 18); + neroDaov2.FirstTrack = tmpbuffer[20]; + neroDaov2.LastTrack = tmpbuffer[21]; + neroDaov2.Tracks = new List<NeroV2DaoEntry>(); - if(!ImageInfo.readableMediaTags.Contains(MediaTagType.CD_MCN)) - ImageInfo.readableMediaTags.Add(MediaTagType.CD_MCN); + if(!ImageInfo.ReadableMediaTags.Contains(MediaTagType.CD_MCN)) + ImageInfo.ReadableMediaTags.Add(MediaTagType.CD_MCN); - if(!ImageInfo.readableSectorTags.Contains(SectorTagType.CDTrackISRC)) - ImageInfo.readableSectorTags.Add(SectorTagType.CDTrackISRC); + if(!ImageInfo.ReadableSectorTags.Contains(SectorTagType.CdTrackIsrc)) + ImageInfo.ReadableSectorTags.Add(SectorTagType.CdTrackIsrc); - UPC = neroDAOV2.UPC; + upc = neroDaov2.Upc; DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.ChunkSizeLe = {0} bytes", - neroDAOV2.ChunkSizeLe); + neroDaov2.ChunkSizeLe); DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.UPC = \"{0}\"", - StringHandlers.CToString(neroDAOV2.UPC)); - DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.TocType = 0x{0:X4}", neroDAOV2.TocType); + StringHandlers.CToString(neroDaov2.Upc)); + DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.TocType = 0x{0:X4}", neroDaov2.TocType); DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.FirstTrack = {0}", - neroDAOV2.FirstTrack); - DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.LastTrack = {0}", neroDAOV2.LastTrack); + neroDaov2.FirstTrack); + DicConsole.DebugWriteLine("Nero plugin", "neroDAOV2.LastTrack = {0}", neroDaov2.LastTrack); tmpbuffer = new byte[42]; - for(int i = 0; i < (neroDAOV2.ChunkSizeBe - 22); i += 42) + for(int i = 0; i < (neroDaov2.ChunkSizeBe - 22); i += 42) { - NeroV2DAOEntry _entry = new NeroV2DAOEntry(); + NeroV2DaoEntry entry = new NeroV2DaoEntry(); imageStream.Read(tmpbuffer, 0, 42); - _entry.ISRC = new byte[12]; - Array.Copy(tmpbuffer, 4, _entry.ISRC, 0, 12); - _entry.SectorSize = BigEndianBitConverter.ToUInt16(tmpbuffer, 12); - _entry.Mode = BitConverter.ToUInt16(tmpbuffer, 14); - _entry.Unknown = BigEndianBitConverter.ToUInt16(tmpbuffer, 16); - _entry.Index0 = BigEndianBitConverter.ToUInt64(tmpbuffer, 18); - _entry.Index1 = BigEndianBitConverter.ToUInt64(tmpbuffer, 26); - _entry.EndOfTrack = BigEndianBitConverter.ToUInt64(tmpbuffer, 34); + entry.Isrc = new byte[12]; + Array.Copy(tmpbuffer, 4, entry.Isrc, 0, 12); + entry.SectorSize = BigEndianBitConverter.ToUInt16(tmpbuffer, 12); + entry.Mode = BitConverter.ToUInt16(tmpbuffer, 14); + entry.Unknown = BigEndianBitConverter.ToUInt16(tmpbuffer, 16); + entry.Index0 = BigEndianBitConverter.ToUInt64(tmpbuffer, 18); + entry.Index1 = BigEndianBitConverter.ToUInt64(tmpbuffer, 26); + entry.EndOfTrack = BigEndianBitConverter.ToUInt64(tmpbuffer, 34); DicConsole.DebugWriteLine("Nero plugin", "Disc-At-Once entry {0}", (i / 32) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].ISRC = \"{1}\"", (i / 32) + 1, - StringHandlers.CToString(_entry.ISRC)); + StringHandlers.CToString(entry.Isrc)); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].SectorSize = {1}", - (i / 32) + 1, _entry.SectorSize); + (i / 32) + 1, entry.SectorSize); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = {1} (0x{2:X4})", - (i / 32) + 1, (DAOMode)_entry.Mode, _entry.Mode); + (i / 32) + 1, (DaoMode)entry.Mode, entry.Mode); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Unknown = {1:X2}", - (i / 32) + 1, _entry.Unknown); + (i / 32) + 1, entry.Unknown); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Index0 = {1}", (i / 32) + 1, - _entry.Index0); + entry.Index0); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Index1 = {1}", (i / 32) + 1, - _entry.Index1); + entry.Index1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].EndOfTrack = {1}", - (i / 32) + 1, _entry.EndOfTrack); + (i / 32) + 1, entry.EndOfTrack); - neroDAOV2.Tracks.Add(_entry); + neroDaov2.Tracks.Add(entry); - if(_entry.SectorSize > ImageInfo.sectorSize) ImageInfo.sectorSize = _entry.SectorSize; + if(entry.SectorSize > ImageInfo.SectorSize) ImageInfo.SectorSize = entry.SectorSize; - TrackISRCs.Add(currenttrack, _entry.ISRC); + trackIsrCs.Add(currenttrack, entry.Isrc); - if(currenttrack == 1) _entry.Index0 = _entry.Index1; + if(currenttrack == 1) entry.Index0 = entry.Index1; - NeroTrack _neroTrack = new NeroTrack(); - _neroTrack.EndOfTrack = _entry.EndOfTrack; - _neroTrack.ISRC = _entry.ISRC; - _neroTrack.Length = _entry.EndOfTrack - _entry.Index0; - _neroTrack.Mode = _entry.Mode; - _neroTrack.Offset = _entry.Index0; - _neroTrack.Sectors = _neroTrack.Length / _entry.SectorSize; - _neroTrack.SectorSize = _entry.SectorSize; - _neroTrack.StartLBA = ImageInfo.sectors; - _neroTrack.Index0 = _entry.Index0; - _neroTrack.Index1 = _entry.Index1; - _neroTrack.Sequence = currenttrack; - neroTracks.Add(currenttrack, _neroTrack); + NeroTrack neroTrack = new NeroTrack(); + neroTrack.EndOfTrack = entry.EndOfTrack; + neroTrack.Isrc = entry.Isrc; + neroTrack.Length = entry.EndOfTrack - entry.Index0; + neroTrack.Mode = entry.Mode; + neroTrack.Offset = entry.Index0; + neroTrack.Sectors = neroTrack.Length / entry.SectorSize; + neroTrack.SectorSize = entry.SectorSize; + neroTrack.StartLba = ImageInfo.Sectors; + neroTrack.Index0 = entry.Index0; + neroTrack.Index1 = entry.Index1; + neroTrack.Sequence = currenttrack; + neroTracks.Add(currenttrack, neroTrack); - ImageInfo.sectors += _neroTrack.Sectors; + ImageInfo.Sectors += neroTrack.Sectors; currenttrack++; } break; } - case NeroCDTextID: + case NeroCdTextId: { DicConsole.DebugWriteLine("Nero plugin", "Found \"CDTX\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroCDTXT = new NeroCDText(); - neroCDTXT.ChunkID = ChunkID; - neroCDTXT.ChunkSize = ChunkLength; - neroCDTXT.Packs = new List<NeroCDTextPack>(); + neroCdtxt = new NeroCdText(); + neroCdtxt.ChunkId = chunkId; + neroCdtxt.ChunkSize = chunkLength; + neroCdtxt.Packs = new List<NeroCdTextPack>(); byte[] tmpbuffer = new byte[18]; - for(int i = 0; i < (neroCDTXT.ChunkSize); i += 18) + for(int i = 0; i < (neroCdtxt.ChunkSize); i += 18) { - NeroCDTextPack _entry = new NeroCDTextPack(); + NeroCdTextPack entry = new NeroCdTextPack(); imageStream.Read(tmpbuffer, 0, 18); - _entry.PackType = tmpbuffer[0]; - _entry.TrackNumber = tmpbuffer[1]; - _entry.PackNumber = tmpbuffer[2]; - _entry.BlockNumber = tmpbuffer[3]; - _entry.Text = new byte[12]; - Array.Copy(tmpbuffer, 4, _entry.Text, 0, 12); - _entry.CRC = BigEndianBitConverter.ToUInt16(tmpbuffer, 16); + entry.PackType = tmpbuffer[0]; + entry.TrackNumber = tmpbuffer[1]; + entry.PackNumber = tmpbuffer[2]; + entry.BlockNumber = tmpbuffer[3]; + entry.Text = new byte[12]; + Array.Copy(tmpbuffer, 4, entry.Text, 0, 12); + entry.Crc = BigEndianBitConverter.ToUInt16(tmpbuffer, 16); DicConsole.DebugWriteLine("Nero plugin", "CD-TEXT entry {0}", (i / 18) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].PackType = 0x{1:X2}", - (i / 18) + 1, _entry.PackType); + (i / 18) + 1, entry.PackType); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].TrackNumber = 0x{1:X2}", - (i / 18) + 1, _entry.TrackNumber); + (i / 18) + 1, entry.TrackNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].PackNumber = 0x{1:X2}", - (i / 18) + 1, _entry.PackNumber); + (i / 18) + 1, entry.PackNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].BlockNumber = 0x{1:X2}", - (i / 18) + 1, _entry.BlockNumber); + (i / 18) + 1, entry.BlockNumber); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Text = \"{1}\"", (i / 18) + 1, - StringHandlers.CToString(_entry.Text)); + StringHandlers.CToString(entry.Text)); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].CRC = 0x{1:X4}", (i / 18) + 1, - _entry.CRC); + entry.Crc); - neroCDTXT.Packs.Add(_entry); + neroCdtxt.Packs.Add(entry); } break; } - case NeroV1TAOID: + case NeroV1Taoid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"ETNF\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroTAOV1 = new NeroV1TAO(); - neroTAOV1.ChunkID = ChunkID; - neroTAOV1.ChunkSize = ChunkLength; - neroTAOV1.Tracks = new List<NeroV1TAOEntry>(); + neroTaov1 = new NeroV1Tao(); + neroTaov1.ChunkId = chunkId; + neroTaov1.ChunkSize = chunkLength; + neroTaov1.Tracks = new List<NeroV1TaoEntry>(); byte[] tmpbuffer = new byte[20]; - for(int i = 0; i < (neroTAOV1.ChunkSize); i += 20) + for(int i = 0; i < (neroTaov1.ChunkSize); i += 20) { - NeroV1TAOEntry _entry = new NeroV1TAOEntry(); + NeroV1TaoEntry entry = new NeroV1TaoEntry(); imageStream.Read(tmpbuffer, 0, 20); - _entry.Offset = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); - _entry.Length = BigEndianBitConverter.ToUInt32(tmpbuffer, 4); - _entry.Mode = BigEndianBitConverter.ToUInt32(tmpbuffer, 8); - _entry.StartLBA = BigEndianBitConverter.ToUInt32(tmpbuffer, 12); - _entry.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 16); + entry.Offset = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); + entry.Length = BigEndianBitConverter.ToUInt32(tmpbuffer, 4); + entry.Mode = BigEndianBitConverter.ToUInt32(tmpbuffer, 8); + entry.StartLba = BigEndianBitConverter.ToUInt32(tmpbuffer, 12); + entry.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 16); DicConsole.DebugWriteLine("Nero plugin", "Track-at-Once entry {0}", (i / 20) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Offset = {1}", (i / 20) + 1, - _entry.Offset); + entry.Offset); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Length = {1} bytes", - (i / 20) + 1, _entry.Length); + (i / 20) + 1, entry.Length); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = {1} (0x{2:X4})", - (i / 20) + 1, (DAOMode)_entry.Mode, _entry.Mode); + (i / 20) + 1, (DaoMode)entry.Mode, entry.Mode); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].StartLBA = {1}", (i / 20) + 1, - _entry.StartLBA); + entry.StartLba); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Unknown = 0x{1:X4}", - (i / 20) + 1, _entry.Unknown); + (i / 20) + 1, entry.Unknown); - neroTAOV1.Tracks.Add(_entry); + neroTaov1.Tracks.Add(entry); - if(NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode) > ImageInfo.sectorSize) - ImageInfo.sectorSize = NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode); + if(NeroTrackModeToBytesPerSector((DaoMode)entry.Mode) > ImageInfo.SectorSize) + ImageInfo.SectorSize = NeroTrackModeToBytesPerSector((DaoMode)entry.Mode); - NeroTrack _neroTrack = new NeroTrack(); - _neroTrack.EndOfTrack = _entry.Offset + _entry.Length; - _neroTrack.ISRC = new byte[12]; - _neroTrack.Length = _entry.Length; - _neroTrack.Mode = _entry.Mode; - _neroTrack.Offset = _entry.Offset; - _neroTrack.Sectors = - _neroTrack.Length / NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode); - _neroTrack.SectorSize = NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode); - _neroTrack.StartLBA = ImageInfo.sectors; - _neroTrack.Index0 = _entry.Offset; - _neroTrack.Index1 = _entry.Offset; - _neroTrack.Sequence = currenttrack; - neroTracks.Add(currenttrack, _neroTrack); + NeroTrack neroTrack = new NeroTrack(); + neroTrack.EndOfTrack = entry.Offset + entry.Length; + neroTrack.Isrc = new byte[12]; + neroTrack.Length = entry.Length; + neroTrack.Mode = entry.Mode; + neroTrack.Offset = entry.Offset; + neroTrack.Sectors = + neroTrack.Length / NeroTrackModeToBytesPerSector((DaoMode)entry.Mode); + neroTrack.SectorSize = NeroTrackModeToBytesPerSector((DaoMode)entry.Mode); + neroTrack.StartLba = ImageInfo.Sectors; + neroTrack.Index0 = entry.Offset; + neroTrack.Index1 = entry.Offset; + neroTrack.Sequence = currenttrack; + neroTracks.Add(currenttrack, neroTrack); - ImageInfo.sectors += _neroTrack.Sectors; + ImageInfo.Sectors += neroTrack.Sectors; currenttrack++; } break; } - case NeroV2TAOID: + case NeroV2Taoid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"ETN2\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroTAOV2 = new NeroV2TAO(); - neroTAOV2.ChunkID = ChunkID; - neroTAOV2.ChunkSize = ChunkLength; - neroTAOV2.Tracks = new List<NeroV2TAOEntry>(); + neroTaov2 = new NeroV2Tao(); + neroTaov2.ChunkId = chunkId; + neroTaov2.ChunkSize = chunkLength; + neroTaov2.Tracks = new List<NeroV2TaoEntry>(); byte[] tmpbuffer = new byte[32]; - for(int i = 0; i < (neroTAOV2.ChunkSize); i += 32) + for(int i = 0; i < (neroTaov2.ChunkSize); i += 32) { - NeroV2TAOEntry _entry = new NeroV2TAOEntry(); + NeroV2TaoEntry entry = new NeroV2TaoEntry(); imageStream.Read(tmpbuffer, 0, 32); - _entry.Offset = BigEndianBitConverter.ToUInt64(tmpbuffer, 0); - _entry.Length = BigEndianBitConverter.ToUInt64(tmpbuffer, 8); - _entry.Mode = BigEndianBitConverter.ToUInt32(tmpbuffer, 16); - _entry.StartLBA = BigEndianBitConverter.ToUInt32(tmpbuffer, 20); - _entry.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 24); - _entry.Sectors = BigEndianBitConverter.ToUInt32(tmpbuffer, 28); + entry.Offset = BigEndianBitConverter.ToUInt64(tmpbuffer, 0); + entry.Length = BigEndianBitConverter.ToUInt64(tmpbuffer, 8); + entry.Mode = BigEndianBitConverter.ToUInt32(tmpbuffer, 16); + entry.StartLba = BigEndianBitConverter.ToUInt32(tmpbuffer, 20); + entry.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 24); + entry.Sectors = BigEndianBitConverter.ToUInt32(tmpbuffer, 28); DicConsole.DebugWriteLine("Nero plugin", "Track-at-Once entry {0}", (i / 32) + 1); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Offset = {1}", (i / 32) + 1, - _entry.Offset); + entry.Offset); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Length = {1} bytes", - (i / 32) + 1, _entry.Length); + (i / 32) + 1, entry.Length); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Mode = {1} (0x{2:X4})", - (i / 32) + 1, (DAOMode)_entry.Mode, _entry.Mode); + (i / 32) + 1, (DaoMode)entry.Mode, entry.Mode); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].StartLBA = {1}", (i / 32) + 1, - _entry.StartLBA); + entry.StartLba); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Unknown = 0x{1:X4}", - (i / 32) + 1, _entry.Unknown); + (i / 32) + 1, entry.Unknown); DicConsole.DebugWriteLine("Nero plugin", "\t _entry[{0}].Sectors = {1}", (i / 32) + 1, - _entry.Sectors); + entry.Sectors); - neroTAOV2.Tracks.Add(_entry); + neroTaov2.Tracks.Add(entry); - if(NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode) > ImageInfo.sectorSize) - ImageInfo.sectorSize = NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode); + if(NeroTrackModeToBytesPerSector((DaoMode)entry.Mode) > ImageInfo.SectorSize) + ImageInfo.SectorSize = NeroTrackModeToBytesPerSector((DaoMode)entry.Mode); - NeroTrack _neroTrack = new NeroTrack(); - _neroTrack.EndOfTrack = _entry.Offset + _entry.Length; - _neroTrack.ISRC = new byte[12]; - _neroTrack.Length = _entry.Length; - _neroTrack.Mode = _entry.Mode; - _neroTrack.Offset = _entry.Offset; - _neroTrack.Sectors = - _neroTrack.Length / NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode); - _neroTrack.SectorSize = NeroTrackModeToBytesPerSector((DAOMode)_entry.Mode); - _neroTrack.StartLBA = ImageInfo.sectors; - _neroTrack.Index0 = _entry.Offset; - _neroTrack.Index1 = _entry.Offset; - _neroTrack.Sequence = currenttrack; - neroTracks.Add(currenttrack, _neroTrack); + NeroTrack neroTrack = new NeroTrack(); + neroTrack.EndOfTrack = entry.Offset + entry.Length; + neroTrack.Isrc = new byte[12]; + neroTrack.Length = entry.Length; + neroTrack.Mode = entry.Mode; + neroTrack.Offset = entry.Offset; + neroTrack.Sectors = + neroTrack.Length / NeroTrackModeToBytesPerSector((DaoMode)entry.Mode); + neroTrack.SectorSize = NeroTrackModeToBytesPerSector((DaoMode)entry.Mode); + neroTrack.StartLba = ImageInfo.Sectors; + neroTrack.Index0 = entry.Offset; + neroTrack.Index1 = entry.Offset; + neroTrack.Sequence = currenttrack; + neroTracks.Add(currenttrack, neroTrack); - ImageInfo.sectors += _neroTrack.Sectors; + ImageInfo.Sectors += neroTrack.Sectors; currenttrack++; } break; } - case NeroSessionID: + case NeroSessionId: { DicConsole.DebugWriteLine("Nero plugin", "Found \"SINF\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); uint sessionTracks; byte[] tmpbuffer = new byte[4]; @@ -1442,15 +1442,15 @@ namespace DiscImageChef.ImagePlugins currentsession++; break; } - case NeroDiskTypeID: + case NeroDiskTypeId: { DicConsole.DebugWriteLine("Nero plugin", "Found \"MTYP\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); neroMediaTyp = new NeroMediaType(); - neroMediaTyp.ChunkID = ChunkID; - neroMediaTyp.ChunkSize = ChunkLength; + neroMediaTyp.ChunkId = chunkId; + neroMediaTyp.ChunkSize = chunkLength; byte[] tmpbuffer = new byte[4]; imageStream.Read(tmpbuffer, 0, 4); @@ -1459,18 +1459,18 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("Nero plugin", "\tMedia type is {0} ({1})", (NeroMediaTypes)neroMediaTyp.Type, neroMediaTyp.Type); - ImageInfo.mediaType = NeroMediaTypeToMediaType((NeroMediaTypes)neroMediaTyp.Type); + ImageInfo.MediaType = NeroMediaTypeToMediaType((NeroMediaTypes)neroMediaTyp.Type); break; } - case NeroDiscInfoID: + case NeroDiscInfoId: { DicConsole.DebugWriteLine("Nero plugin", "Found \"DINF\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); neroDiscInfo = new NeroDiscInformation(); - neroDiscInfo.ChunkID = ChunkID; - neroDiscInfo.ChunkSize = ChunkLength; + neroDiscInfo.ChunkId = chunkId; + neroDiscInfo.ChunkSize = chunkLength; byte[] tmpbuffer = new byte[4]; imageStream.Read(tmpbuffer, 0, 4); neroDiscInfo.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); @@ -1480,41 +1480,41 @@ namespace DiscImageChef.ImagePlugins break; } - case NeroReloID: + case NeroReloId: { DicConsole.DebugWriteLine("Nero plugin", "Found \"RELO\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroRELO = new NeroRELOChunk(); - neroRELO.ChunkID = ChunkID; - neroRELO.ChunkSize = ChunkLength; + neroRelo = new NeroReloChunk(); + neroRelo.ChunkId = chunkId; + neroRelo.ChunkSize = chunkLength; byte[] tmpbuffer = new byte[4]; imageStream.Read(tmpbuffer, 0, 4); - neroRELO.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); + neroRelo.Unknown = BigEndianBitConverter.ToUInt32(tmpbuffer, 0); DicConsole.DebugWriteLine("Nero plugin", "\tneroRELO.Unknown = 0x{0:X4} ({0})", - neroRELO.Unknown); + neroRelo.Unknown); break; } - case NeroTOCID: + case NeroTocid: { DicConsole.DebugWriteLine("Nero plugin", "Found \"TOCT\" chunk, parsing {0} bytes", - ChunkLength); + chunkLength); - neroTOC = new NeroTOCChunk(); - neroTOC.ChunkID = ChunkID; - neroTOC.ChunkSize = ChunkLength; + neroToc = new NeroTocChunk(); + neroToc.ChunkId = chunkId; + neroToc.ChunkSize = chunkLength; byte[] tmpbuffer = new byte[2]; imageStream.Read(tmpbuffer, 0, 2); - neroTOC.Unknown = BigEndianBitConverter.ToUInt16(tmpbuffer, 0); + neroToc.Unknown = BigEndianBitConverter.ToUInt16(tmpbuffer, 0); DicConsole.DebugWriteLine("Nero plugin", "\tneroTOC.Unknown = 0x{0:X4} ({0})", - neroTOC.Unknown); + neroToc.Unknown); break; } - case NeroEndID: + case NeroEndId: { DicConsole.DebugWriteLine("Nero plugin", "Found \"END!\" chunk, finishing parse"); parsing = false; @@ -1524,44 +1524,44 @@ namespace DiscImageChef.ImagePlugins { DicConsole.DebugWriteLine("Nero plugin", "Unknown chunk ID \"{0}\", skipping...", System.Text.Encoding.ASCII.GetString(BigEndianBitConverter - .GetBytes(ChunkID))); - imageStream.Seek(ChunkLength, SeekOrigin.Current); + .GetBytes(chunkId))); + imageStream.Seek(chunkLength, SeekOrigin.Current); break; } } } - ImageInfo.imageHasPartitions = true; - ImageInfo.imageHasSessions = true; - ImageInfo.imageCreator = null; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; + ImageInfo.ImageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageCreator = null; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; if(imageNewFormat) { - ImageInfo.imageSize = footerV2.FirstChunkOffset; - ImageInfo.imageVersion = "Nero Burning ROM >= 5.5"; - ImageInfo.imageApplication = "Nero Burning ROM"; - ImageInfo.imageApplicationVersion = ">= 5.5"; + ImageInfo.ImageSize = footerV2.FirstChunkOffset; + ImageInfo.ImageVersion = "Nero Burning ROM >= 5.5"; + ImageInfo.ImageApplication = "Nero Burning ROM"; + ImageInfo.ImageApplicationVersion = ">= 5.5"; } else { - ImageInfo.imageSize = footerV1.FirstChunkOffset; - ImageInfo.imageVersion = "Nero Burning ROM <= 5.0"; - ImageInfo.imageApplication = "Nero Burning ROM"; - ImageInfo.imageApplicationVersion = "<= 5.0"; + ImageInfo.ImageSize = footerV1.FirstChunkOffset; + ImageInfo.ImageVersion = "Nero Burning ROM <= 5.0"; + ImageInfo.ImageApplication = "Nero Burning ROM"; + ImageInfo.ImageApplicationVersion = "<= 5.0"; } if(neroSessions.Count == 0) neroSessions.Add(1, currenttrack); @@ -1573,12 +1573,12 @@ namespace DiscImageChef.ImagePlugins neroSessions.TryGetValue(1, out currentsessionmaxtrack); uint currentsessioncurrenttrack = 1; Session currentsessionstruct = new Session(); - ulong PartitionSequence = 0; + ulong partitionSequence = 0; ulong partitionStartByte = 0; for(uint i = 1; i <= neroTracks.Count; i++) { - NeroTrack _neroTrack; - if(neroTracks.TryGetValue(i, out _neroTrack)) + NeroTrack neroTrack; + if(neroTracks.TryGetValue(i, out neroTrack)) { DicConsole.DebugWriteLine("Nero plugin", "\tcurrentsession = {0}", currentsession); DicConsole.DebugWriteLine("Nero plugin", "\tcurrentsessionmaxtrack = {0}", @@ -1587,58 +1587,58 @@ namespace DiscImageChef.ImagePlugins currentsessioncurrenttrack); Track _track = new Track(); - if(_neroTrack.Sequence == 1) _neroTrack.Index0 = _neroTrack.Index1; + if(neroTrack.Sequence == 1) neroTrack.Index0 = neroTrack.Index1; _track.Indexes = new Dictionary<int, ulong>(); - if(_neroTrack.Index0 < _neroTrack.Index1) - _track.Indexes.Add(0, _neroTrack.Index0 / _neroTrack.SectorSize); - _track.Indexes.Add(1, _neroTrack.Index1 / _neroTrack.SectorSize); - _track.TrackDescription = StringHandlers.CToString(_neroTrack.ISRC); - _track.TrackEndSector = (_neroTrack.Length / _neroTrack.SectorSize) + _neroTrack.StartLBA - 1; - _track.TrackPregap = (_neroTrack.Index1 - _neroTrack.Index0) / _neroTrack.SectorSize; - _track.TrackSequence = _neroTrack.Sequence; + if(neroTrack.Index0 < neroTrack.Index1) + _track.Indexes.Add(0, neroTrack.Index0 / neroTrack.SectorSize); + _track.Indexes.Add(1, neroTrack.Index1 / neroTrack.SectorSize); + _track.TrackDescription = StringHandlers.CToString(neroTrack.Isrc); + _track.TrackEndSector = (neroTrack.Length / neroTrack.SectorSize) + neroTrack.StartLba - 1; + _track.TrackPregap = (neroTrack.Index1 - neroTrack.Index0) / neroTrack.SectorSize; + _track.TrackSequence = neroTrack.Sequence; _track.TrackSession = currentsession; - _track.TrackStartSector = _neroTrack.StartLBA; - _track.TrackType = NeroTrackModeToTrackType((DAOMode)_neroTrack.Mode); + _track.TrackStartSector = neroTrack.StartLba; + _track.TrackType = NeroTrackModeToTrackType((DaoMode)neroTrack.Mode); _track.TrackFile = imageFilter.GetFilename(); _track.TrackFilter = imageFilter; - _track.TrackFileOffset = _neroTrack.Offset; + _track.TrackFileOffset = neroTrack.Offset; _track.TrackFileType = "BINARY"; _track.TrackSubchannelType = TrackSubchannelType.None; - switch((DAOMode)_neroTrack.Mode) + switch((DaoMode)neroTrack.Mode) { - case DAOMode.Audio: + case DaoMode.Audio: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2352; break; - case DAOMode.AudioSub: + case DaoMode.AudioSub: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2448; _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; break; - case DAOMode.Data: - case DAOMode.DataM2F1: + case DaoMode.Data: + case DaoMode.DataM2F1: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2048; break; - case DAOMode.DataM2F2: + case DaoMode.DataM2F2: _track.TrackBytesPerSector = 2336; _track.TrackRawBytesPerSector = 2336; break; - case DAOMode.DataM2Raw: + case DaoMode.DataM2Raw: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2352; break; - case DAOMode.DataM2RawSub: + case DaoMode.DataM2RawSub: _track.TrackBytesPerSector = 2352; _track.TrackRawBytesPerSector = 2448; _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; break; - case DAOMode.DataRaw: + case DaoMode.DataRaw: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2352; break; - case DAOMode.DataRawSub: + case DaoMode.DataRawSub: _track.TrackBytesPerSector = 2048; _track.TrackRawBytesPerSector = 2448; _track.TrackSubchannelType = TrackSubchannelType.RawInterleaved; @@ -1649,7 +1649,7 @@ namespace DiscImageChef.ImagePlugins { _track.TrackSubchannelFilter = imageFilter; _track.TrackSubchannelFile = imageFilter.GetFilename(); - _track.TrackSubchannelOffset = _neroTrack.Offset; + _track.TrackSubchannelOffset = neroTrack.Offset; } imageTracks.Add(_track); @@ -1716,23 +1716,23 @@ namespace DiscImageChef.ImagePlugins partition = new Partition(); partition.Description = string.Format("Track {0} Index 1", _track.TrackSequence); - partition.Size = (_neroTrack.EndOfTrack - _neroTrack.Index1); - partition.Name = StringHandlers.CToString(_neroTrack.ISRC); - partition.Length = partition.Size / _neroTrack.SectorSize; - partition.Sequence = PartitionSequence; + partition.Size = (neroTrack.EndOfTrack - neroTrack.Index1); + partition.Name = StringHandlers.CToString(neroTrack.Isrc); + partition.Length = partition.Size / neroTrack.SectorSize; + partition.Sequence = partitionSequence; partition.Offset = partitionStartByte; - partition.Start = _neroTrack.StartLBA + - ((_neroTrack.Index1 - _neroTrack.Index0) / _neroTrack.SectorSize); - partition.Type = NeroTrackModeToTrackType((DAOMode)_neroTrack.Mode).ToString(); - ImagePartitions.Add(partition); - PartitionSequence++; + partition.Start = neroTrack.StartLba + + ((neroTrack.Index1 - neroTrack.Index0) / neroTrack.SectorSize); + partition.Type = NeroTrackModeToTrackType((DaoMode)neroTrack.Mode).ToString(); + imagePartitions.Add(partition); + partitionSequence++; partitionStartByte += partition.Size; } } - _imageFilter = imageFilter; + this.imageFilter = imageFilter; - if(ImageInfo.mediaType == MediaType.Unknown || ImageInfo.mediaType == MediaType.CD) + if(ImageInfo.MediaType == MediaType.Unknown || ImageInfo.MediaType == MediaType.CD) { bool data = false; bool mode2 = false; @@ -1743,42 +1743,42 @@ namespace DiscImageChef.ImagePlugins for(int i = 0; i < neroTracks.Count; i++) { // First track is audio - firstaudio |= i == 0 && ((DAOMode)neroTracks.ElementAt(i).Value.Mode == DAOMode.Audio || - (DAOMode)neroTracks.ElementAt(i).Value.Mode == DAOMode.AudioSub); + firstaudio |= i == 0 && ((DaoMode)neroTracks.ElementAt(i).Value.Mode == DaoMode.Audio || + (DaoMode)neroTracks.ElementAt(i).Value.Mode == DaoMode.AudioSub); // First track is data - firstdata |= i == 0 && ((DAOMode)neroTracks.ElementAt(i).Value.Mode != DAOMode.Audio && - (DAOMode)neroTracks.ElementAt(i).Value.Mode != DAOMode.AudioSub); + firstdata |= i == 0 && ((DaoMode)neroTracks.ElementAt(i).Value.Mode != DaoMode.Audio && + (DaoMode)neroTracks.ElementAt(i).Value.Mode != DaoMode.AudioSub); // Any non first track is data - data |= i != 0 && ((DAOMode)neroTracks.ElementAt(i).Value.Mode != DAOMode.Audio && - (DAOMode)neroTracks.ElementAt(i).Value.Mode != DAOMode.AudioSub); + data |= i != 0 && ((DaoMode)neroTracks.ElementAt(i).Value.Mode != DaoMode.Audio && + (DaoMode)neroTracks.ElementAt(i).Value.Mode != DaoMode.AudioSub); // Any non first track is audio - audio |= i != 0 && ((DAOMode)neroTracks.ElementAt(i).Value.Mode == DAOMode.Audio || - (DAOMode)neroTracks.ElementAt(i).Value.Mode == DAOMode.AudioSub); + audio |= i != 0 && ((DaoMode)neroTracks.ElementAt(i).Value.Mode == DaoMode.Audio || + (DaoMode)neroTracks.ElementAt(i).Value.Mode == DaoMode.AudioSub); - switch((DAOMode)neroTracks.ElementAt(i).Value.Mode) + switch((DaoMode)neroTracks.ElementAt(i).Value.Mode) { - case DAOMode.DataM2F1: - case DAOMode.DataM2F2: - case DAOMode.DataM2Raw: - case DAOMode.DataM2RawSub: + case DaoMode.DataM2F1: + case DaoMode.DataM2F2: + case DaoMode.DataM2Raw: + case DaoMode.DataM2RawSub: mode2 = true; break; } } - if(!data && !firstdata) ImageInfo.mediaType = MediaType.CDDA; + if(!data && !firstdata) ImageInfo.MediaType = MediaType.CDDA; else if(firstaudio && data && imageSessions.Count > 1 && mode2) - ImageInfo.mediaType = MediaType.CDPLUS; - else if((firstdata && audio) || mode2) ImageInfo.mediaType = MediaType.CDROMXA; - else if(!audio) ImageInfo.mediaType = MediaType.CDROM; - else ImageInfo.mediaType = MediaType.CD; + ImageInfo.MediaType = MediaType.CDPLUS; + else if((firstdata && audio) || mode2) ImageInfo.MediaType = MediaType.CDROMXA; + else if(!audio) ImageInfo.MediaType = MediaType.CDROM; + else ImageInfo.MediaType = MediaType.CD; } - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; - DicConsole.VerboseWriteLine("Nero image contains a disc of type {0}", ImageInfo.mediaType); + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; + DicConsole.VerboseWriteLine("Nero image contains a disc of type {0}", ImageInfo.MediaType); return true; } @@ -1797,24 +1797,24 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) { switch(tag) { - case MediaTagType.CD_MCN: return UPC; + case MediaTagType.CD_MCN: return upc; case MediaTagType.CD_TEXT: throw new NotImplementedException("Not yet implemented"); default: throw new FeaturedNotSupportedByDiscImageException("Requested disk tag not supported by image"); @@ -1896,90 +1896,90 @@ namespace DiscImageChef.ImagePlugins .Format("Requested more sectors ({0}) than present in track ({1}), won't cross tracks", length, _track.Sectors)); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch((DAOMode)_track.Mode) + switch((DaoMode)_track.Mode) { - case DAOMode.Data: - case DAOMode.DataM2F1: + case DaoMode.Data: + case DaoMode.DataM2F1: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } - case DAOMode.DataM2F2: + case DaoMode.DataM2F2: { - sector_offset = 8; - sector_size = 2324; - sector_skip = 4; + sectorOffset = 8; + sectorSize = 2324; + sectorSkip = 4; break; } - case DAOMode.Audio: + case DaoMode.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case DAOMode.DataRaw: + case DaoMode.DataRaw: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288; break; } - case DAOMode.DataM2Raw: + case DaoMode.DataM2Raw: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 0; break; } // TODO: Supposing Nero suffixes the subchannel to the channel - case DAOMode.DataRawSub: + case DaoMode.DataRawSub: { - sector_offset = 16; - sector_size = 2048; - sector_skip = 288 + 96; + sectorOffset = 16; + sectorSize = 2048; + sectorSkip = 288 + 96; break; } - case DAOMode.DataM2RawSub: + case DaoMode.DataM2RawSub: { - sector_offset = 16; - sector_size = 2336; - sector_skip = 96; + sectorOffset = 16; + sectorSize = 2336; + sectorSkip = 96; break; } - case DAOMode.AudioSub: + case DaoMode.AudioSub: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 96; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 96; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _imageFilter.GetDataForkStream(); + imageStream = imageFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.Offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -1999,63 +1999,63 @@ namespace DiscImageChef.ImagePlugins .Format("Requested more sectors ({0}) than present in track ({1}), won't cross tracks", length, _track.Sectors)); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; switch(tag) { - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: - case SectorTagType.CDSectorEDC: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: - case SectorTagType.CDSectorSync: break; - case SectorTagType.CDTrackFlags: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: + case SectorTagType.CdSectorEdc: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: + case SectorTagType.CdSectorSync: break; + case SectorTagType.CdTrackFlags: { byte[] flags = new byte[1]; flags[0] = 0x00; - if((DAOMode)_track.Mode != DAOMode.Audio && (DAOMode)_track.Mode != DAOMode.AudioSub) + if((DaoMode)_track.Mode != DaoMode.Audio && (DaoMode)_track.Mode != DaoMode.AudioSub) flags[0] += 0x40; return flags; } - case SectorTagType.CDTrackISRC: return _track.ISRC; - case SectorTagType.CDTrackText: + case SectorTagType.CdTrackIsrc: return _track.Isrc; + case SectorTagType.CdTrackText: throw new FeatureSupportedButNotImplementedImageException("Feature not yet implemented"); default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); } - switch((DAOMode)_track.Mode) + switch((DaoMode)_track.Mode) { - case DAOMode.Data: - case DAOMode.DataM2F1: throw new ArgumentException("No tags in image for requested track", nameof(tag)); - case DAOMode.DataM2F2: + case DaoMode.Data: + case DaoMode.DataM2F1: throw new ArgumentException("No tags in image for requested track", nameof(tag)); + case DaoMode.DataM2F2: { switch(tag) { - case SectorTagType.CDSectorSync: - case SectorTagType.CDSectorHeader: - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorECC: - case SectorTagType.CDSectorECC_P: - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorSync: + case SectorTagType.CdSectorHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorEcc: + case SectorTagType.CdSectorEccP: + case SectorTagType.CdSectorEccQ: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: { - sector_offset = 0; - sector_size = 8; - sector_skip = 2328; + sectorOffset = 0; + sectorSize = 8; + sectorSkip = 2328; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2332; - sector_size = 4; - sector_skip = 0; + sectorOffset = 2332; + sectorSize = 4; + sectorSkip = 0; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -2063,54 +2063,54 @@ namespace DiscImageChef.ImagePlugins break; } - case DAOMode.Audio: throw new ArgumentException("There are no tags on audio tracks", nameof(tag)); - case DAOMode.DataRaw: + case DaoMode.Audio: throw new ArgumentException("There are no tags on audio tracks", nameof(tag)); + case DaoMode.DataRaw: { switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336; break; } - case SectorTagType.CDSectorSubchannel: - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubchannel: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -2119,61 +2119,61 @@ namespace DiscImageChef.ImagePlugins break; } // TODO - case DAOMode.DataM2RawSub: + case DaoMode.DataM2RawSub: throw new FeatureSupportedButNotImplementedImageException("Feature not yet implemented"); - case DAOMode.DataRawSub: + case DaoMode.DataRawSub: { switch(tag) { - case SectorTagType.CDSectorSync: + case SectorTagType.CdSectorSync: { - sector_offset = 0; - sector_size = 12; - sector_skip = 2340 + 96; + sectorOffset = 0; + sectorSize = 12; + sectorSkip = 2340 + 96; break; } - case SectorTagType.CDSectorHeader: + case SectorTagType.CdSectorHeader: { - sector_offset = 12; - sector_size = 4; - sector_skip = 2336 + 96; + sectorOffset = 12; + sectorSize = 4; + sectorSkip = 2336 + 96; break; } - case SectorTagType.CDSectorSubchannel: + case SectorTagType.CdSectorSubchannel: { - sector_offset = 2352; - sector_size = 96; - sector_skip = 0; + sectorOffset = 2352; + sectorSize = 96; + sectorSkip = 0; break; } - case SectorTagType.CDSectorSubHeader: + case SectorTagType.CdSectorSubHeader: throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - case SectorTagType.CDSectorECC: + case SectorTagType.CdSectorEcc: { - sector_offset = 2076; - sector_size = 276; - sector_skip = 0 + 96; + sectorOffset = 2076; + sectorSize = 276; + sectorSkip = 0 + 96; break; } - case SectorTagType.CDSectorECC_P: + case SectorTagType.CdSectorEccP: { - sector_offset = 2076; - sector_size = 172; - sector_skip = 104 + 96; + sectorOffset = 2076; + sectorSize = 172; + sectorSkip = 104 + 96; break; } - case SectorTagType.CDSectorECC_Q: + case SectorTagType.CdSectorEccQ: { - sector_offset = 2248; - sector_size = 104; - sector_skip = 0 + 96; + sectorOffset = 2248; + sectorSize = 104; + sectorSkip = 0 + 96; break; } - case SectorTagType.CDSectorEDC: + case SectorTagType.CdSectorEdc: { - sector_offset = 2064; - sector_size = 4; - sector_skip = 284 + 96; + sectorOffset = 2064; + sectorSize = 4; + sectorSkip = 284 + 96; break; } default: throw new ArgumentException("Unsupported tag requested", nameof(tag)); @@ -2181,36 +2181,36 @@ namespace DiscImageChef.ImagePlugins break; } - case DAOMode.AudioSub: + case DaoMode.AudioSub: { - if(tag != SectorTagType.CDSectorSubchannel) + if(tag != SectorTagType.CdSectorSubchannel) throw new ArgumentException("Unsupported tag requested for this track", nameof(tag)); - sector_offset = 2352; - sector_size = 96; - sector_skip = 0; + sectorOffset = 2352; + sectorSize = 96; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _imageFilter.GetDataForkStream(); + imageStream = imageFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.Offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -2261,68 +2261,68 @@ namespace DiscImageChef.ImagePlugins .Format("Requested more sectors ({0}) than present in track ({1}), won't cross tracks", length, _track.Sectors)); - uint sector_offset; - uint sector_size; - uint sector_skip; + uint sectorOffset; + uint sectorSize; + uint sectorSkip; - switch((DAOMode)_track.Mode) + switch((DaoMode)_track.Mode) { - case DAOMode.Data: - case DAOMode.DataM2F1: + case DaoMode.Data: + case DaoMode.DataM2F1: { - sector_offset = 0; - sector_size = 2048; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2048; + sectorSkip = 0; break; } - case DAOMode.DataM2F2: + case DaoMode.DataM2F2: { - sector_offset = 0; - sector_size = 2336; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2336; + sectorSkip = 0; break; } - case DAOMode.DataRaw: - case DAOMode.DataM2Raw: - case DAOMode.Audio: + case DaoMode.DataRaw: + case DaoMode.DataM2Raw: + case DaoMode.Audio: { - sector_offset = 0; - sector_size = 2352; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2352; + sectorSkip = 0; break; } - case DAOMode.DataRawSub: - case DAOMode.DataM2RawSub: - case DAOMode.AudioSub: + case DaoMode.DataRawSub: + case DaoMode.DataM2RawSub: + case DaoMode.AudioSub: { - sector_offset = 0; - sector_size = 2448; - sector_skip = 0; + sectorOffset = 0; + sectorSize = 2448; + sectorSkip = 0; break; } default: throw new FeatureSupportedButNotImplementedImageException("Unsupported track type"); } - byte[] buffer = new byte[sector_size * length]; + byte[] buffer = new byte[sectorSize * length]; - imageStream = _imageFilter.GetDataForkStream(); + imageStream = imageFilter.GetDataForkStream(); BinaryReader br = new BinaryReader(imageStream); br.BaseStream - .Seek((long)_track.Offset + (long)(sectorAddress * (sector_offset + sector_size + sector_skip)), + .Seek((long)_track.Offset + (long)(sectorAddress * (sectorOffset + sectorSize + sectorSkip)), SeekOrigin.Begin); - if(sector_offset == 0 && sector_skip == 0) buffer = br.ReadBytes((int)(sector_size * length)); + if(sectorOffset == 0 && sectorSkip == 0) buffer = br.ReadBytes((int)(sectorSize * length)); else { for(int i = 0; i < length; i++) { byte[] sector; - br.BaseStream.Seek(sector_offset, SeekOrigin.Current); - sector = br.ReadBytes((int)sector_size); - br.BaseStream.Seek(sector_skip, SeekOrigin.Current); + br.BaseStream.Seek(sectorOffset, SeekOrigin.Current); + sector = br.ReadBytes((int)sectorSize); + br.BaseStream.Seek(sectorSkip, SeekOrigin.Current); - Array.Copy(sector, 0, buffer, i * sector_size, sector_size); + Array.Copy(sector, 0, buffer, i * sectorSize, sectorSize); } } @@ -2336,42 +2336,42 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override List<Partition> GetPartitions() { - return ImagePartitions; + return imagePartitions; } public override List<Track> GetTracks() @@ -2400,73 +2400,73 @@ namespace DiscImageChef.ImagePlugins public override bool? VerifySector(ulong sectorAddress) { byte[] buffer = ReadSectorLong(sectorAddress); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } public override bool? VerifySector(ulong sectorAddress, uint track) { byte[] buffer = ReadSectorLong(sectorAddress, track); - return Checksums.CDChecksums.CheckCDSector(buffer); + return Checksums.CdChecksums.CheckCdSector(buffer); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { byte[] buffer = ReadSectorsLong(sectorAddress, length, track); int bps = (int)(buffer.Length / length); byte[] sector = new byte[bps]; - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(int i = 0; i < length; i++) { Array.Copy(buffer, i * bps, sector, 0, bps); - bool? sectorStatus = Checksums.CDChecksums.CheckCDSector(sector); + bool? sectorStatus = Checksums.CdChecksums.CheckCdSector(sector); switch(sectorStatus) { case null: - UnknownLBAs.Add((ulong)i + sectorAddress); + unknownLbas.Add((ulong)i + sectorAddress); break; case false: - FailingLBAs.Add((ulong)i + sectorAddress); + failingLbas.Add((ulong)i + sectorAddress); break; } } - if(UnknownLBAs.Count > 0) return null; - if(FailingLBAs.Count > 0) return false; + if(unknownLbas.Count > 0) return null; + if(failingLbas.Count > 0) return false; return true; } @@ -2482,69 +2482,69 @@ namespace DiscImageChef.ImagePlugins { switch(type) { - case NeroMediaTypes.NERO_MTYP_DDCD: return MediaType.DDCD; - case NeroMediaTypes.NERO_MTYP_DVD_M: - case NeroMediaTypes.NERO_MTYP_DVD_M_R: return MediaType.DVDR; - case NeroMediaTypes.NERO_MTYP_DVD_P: - case NeroMediaTypes.NERO_MTYP_DVD_P_R: return MediaType.DVDPR; - case NeroMediaTypes.NERO_MTYP_DVD_RAM: return MediaType.DVDRAM; - case NeroMediaTypes.NERO_MTYP_ML: - case NeroMediaTypes.NERO_MTYP_MRW: - case NeroMediaTypes.NERO_MTYP_CDRW: return MediaType.CDRW; - case NeroMediaTypes.NERO_MTYP_CDR: return MediaType.CDR; - case NeroMediaTypes.NERO_MTYP_DVD_ROM: - case NeroMediaTypes.NERO_MTYP_DVD_ANY: - case NeroMediaTypes.NERO_MTYP_DVD_ANY_R9: - case NeroMediaTypes.NERO_MTYP_DVD_ANY_OLD: return MediaType.DVDROM; - case NeroMediaTypes.NERO_MTYP_CDROM: return MediaType.CDROM; - case NeroMediaTypes.NERO_MTYP_DVD_M_RW: return MediaType.DVDRW; - case NeroMediaTypes.NERO_MTYP_DVD_P_RW: return MediaType.DVDPRW; - case NeroMediaTypes.NERO_MTYP_DVD_P_R9: return MediaType.DVDPRDL; - case NeroMediaTypes.NERO_MTYP_DVD_M_R9: return MediaType.DVDRDL; - case NeroMediaTypes.NERO_MTYP_BD: - case NeroMediaTypes.NERO_MTYP_BD_ANY: - case NeroMediaTypes.NERO_MTYP_BD_ROM: return MediaType.BDROM; - case NeroMediaTypes.NERO_MTYP_BD_R: return MediaType.BDR; - case NeroMediaTypes.NERO_MTYP_BD_RE: return MediaType.BDRE; - case NeroMediaTypes.NERO_MTYP_HD_DVD: - case NeroMediaTypes.NERO_MTYP_HD_DVD_ANY: - case NeroMediaTypes.NERO_MTYP_HD_DVD_ROM: return MediaType.HDDVDROM; - case NeroMediaTypes.NERO_MTYP_HD_DVD_R: return MediaType.HDDVDR; - case NeroMediaTypes.NERO_MTYP_HD_DVD_RW: return MediaType.HDDVDRW; + case NeroMediaTypes.NeroMtypDdcd: return MediaType.DDCD; + case NeroMediaTypes.NeroMtypDvdM: + case NeroMediaTypes.NeroMtypDvdMR: return MediaType.DVDR; + case NeroMediaTypes.NeroMtypDvdP: + case NeroMediaTypes.NeroMtypDvdPR: return MediaType.DVDPR; + case NeroMediaTypes.NeroMtypDvdRam: return MediaType.DVDRAM; + case NeroMediaTypes.NeroMtypMl: + case NeroMediaTypes.NeroMtypMrw: + case NeroMediaTypes.NeroMtypCdrw: return MediaType.CDRW; + case NeroMediaTypes.NeroMtypCdr: return MediaType.CDR; + case NeroMediaTypes.NeroMtypDvdRom: + case NeroMediaTypes.NeroMtypDvdAny: + case NeroMediaTypes.NeroMtypDvdAnyR9: + case NeroMediaTypes.NeroMtypDvdAnyOld: return MediaType.DVDROM; + case NeroMediaTypes.NeroMtypCdrom: return MediaType.CDROM; + case NeroMediaTypes.NeroMtypDvdMRw: return MediaType.DVDRW; + case NeroMediaTypes.NeroMtypDvdPRw: return MediaType.DVDPRW; + case NeroMediaTypes.NeroMtypDvdPR9: return MediaType.DVDPRDL; + case NeroMediaTypes.NeroMtypDvdMR9: return MediaType.DVDRDL; + case NeroMediaTypes.NeroMtypBd: + case NeroMediaTypes.NeroMtypBdAny: + case NeroMediaTypes.NeroMtypBdRom: return MediaType.BDROM; + case NeroMediaTypes.NeroMtypBdR: return MediaType.BDR; + case NeroMediaTypes.NeroMtypBdRe: return MediaType.BDRE; + case NeroMediaTypes.NeroMtypHdDvd: + case NeroMediaTypes.NeroMtypHdDvdAny: + case NeroMediaTypes.NeroMtypHdDvdRom: return MediaType.HDDVDROM; + case NeroMediaTypes.NeroMtypHdDvdR: return MediaType.HDDVDR; + case NeroMediaTypes.NeroMtypHdDvdRw: return MediaType.HDDVDRW; default: return MediaType.CD; } } - static TrackType NeroTrackModeToTrackType(DAOMode mode) + static TrackType NeroTrackModeToTrackType(DaoMode mode) { switch(mode) { - case DAOMode.Data: - case DAOMode.DataRaw: - case DAOMode.DataRawSub: return TrackType.CDMode1; - case DAOMode.DataM2F1: return TrackType.CDMode2Form1; - case DAOMode.DataM2F2: return TrackType.CDMode2Form2; - case DAOMode.DataM2RawSub: - case DAOMode.DataM2Raw: return TrackType.CDMode2Formless; - case DAOMode.Audio: - case DAOMode.AudioSub: return TrackType.Audio; + case DaoMode.Data: + case DaoMode.DataRaw: + case DaoMode.DataRawSub: return TrackType.CdMode1; + case DaoMode.DataM2F1: return TrackType.CdMode2Form1; + case DaoMode.DataM2F2: return TrackType.CdMode2Form2; + case DaoMode.DataM2RawSub: + case DaoMode.DataM2Raw: return TrackType.CdMode2Formless; + case DaoMode.Audio: + case DaoMode.AudioSub: return TrackType.Audio; default: return TrackType.Data; } } - static ushort NeroTrackModeToBytesPerSector(DAOMode mode) + static ushort NeroTrackModeToBytesPerSector(DaoMode mode) { switch(mode) { - case DAOMode.Data: - case DAOMode.DataM2F1: return 2048; - case DAOMode.DataM2F2: return 2336; - case DAOMode.DataRaw: - case DAOMode.DataM2Raw: - case DAOMode.Audio: return 2352; - case DAOMode.DataM2RawSub: - case DAOMode.DataRawSub: - case DAOMode.AudioSub: return 2448; + case DaoMode.Data: + case DaoMode.DataM2F1: return 2048; + case DaoMode.DataM2F2: return 2336; + case DaoMode.DataRaw: + case DaoMode.DataM2Raw: + case DaoMode.Audio: return 2352; + case DaoMode.DataM2RawSub: + case DaoMode.DataRawSub: + case DaoMode.AudioSub: return 2448; default: return 2352; } } @@ -2553,62 +2553,62 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } #endregion } diff --git a/DiscImageChef.DiscImages/Parallels.cs b/DiscImageChef.DiscImages/Parallels.cs index 2a46a0c6b..cd48602ef 100644 --- a/DiscImageChef.DiscImages/Parallels.cs +++ b/DiscImageChef.DiscImages/Parallels.cs @@ -38,24 +38,24 @@ using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.DiscImages { public class Parallels : ImagePlugin { #region Internal constants - readonly byte[] ParallelsMagic = + readonly byte[] parallelsMagic = {0x57, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x74, 0x46, 0x72, 0x65, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65}; - readonly byte[] ParallelsExtMagic = + readonly byte[] parallelsExtMagic = {0x57, 0x69, 0x74, 0x68, 0x6F, 0x75, 0x46, 0x72, 0x65, 0x53, 0x70, 0x61, 0x63, 0x45, 0x78, 0x74}; - const uint ParallelsVersion = 2; + const uint PARALLELS_VERSION = 2; - const uint ParallelsInUse = 0x746F6E59; - const uint ParallelsClosed = 0x312E3276; + const uint PARALLELS_INUSE = 0x746F6E59; + const uint PARALLELS_CLOSED = 0x312E3276; - const uint ParallelsEmpty = 0x00000001; + const uint PARALLELS_EMPTY = 0x00000001; #endregion #region Internal Structures @@ -66,7 +66,7 @@ namespace DiscImageChef.DiscImages struct ParallelsHeader { /// <summary> - /// Magic, <see cref="ParallelsMagic"/> or <see cref="ParallelsExtMagic"/> + /// Magic, <see cref="Parallels.parallelsMagic"/> or <see cref="Parallels.parallelsExtMagic"/> /// </summary> [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] magic; /// <summary> @@ -94,7 +94,7 @@ namespace DiscImageChef.DiscImages /// </summary> public ulong sectors; /// <summary> - /// Set to <see cref="ParallelsInUse"/> if image is opened by any software, <see cref="ParallelsClosed"/> if not, and 0 if old version + /// Set to <see cref="Parallels.PARALLELS_INUSE"/> if image is opened by any software, <see cref="Parallels.PARALLELS_CLOSED"/> if not, and 0 if old version /// </summary> public uint in_use; /// <summary> @@ -114,7 +114,7 @@ namespace DiscImageChef.DiscImages bool extended; ParallelsHeader pHdr; - uint[] BAT; + uint[] bat; long dataOffset; uint clusterBytes; bool empty; @@ -122,34 +122,34 @@ namespace DiscImageChef.DiscImages Dictionary<ulong, byte[]> sectorCache; - const uint MaxCacheSize = 16777216; - uint maxCachedSectors = MaxCacheSize / 512; + const uint MAX_CACHE_SIZE = 16777216; + uint maxCachedSectors = MAX_CACHE_SIZE / 512; public Parallels() { Name = "Parallels disk image"; - PluginUUID = new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); + PluginUuid = new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = "2"; - ImageInfo.imageApplication = "Parallels"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = "2"; + ImageInfo.ImageApplication = "Parallels"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -159,15 +159,15 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] pHdr_b = new byte[Marshal.SizeOf(pHdr)]; - stream.Read(pHdr_b, 0, Marshal.SizeOf(pHdr)); + byte[] pHdrB = new byte[Marshal.SizeOf(pHdr)]; + stream.Read(pHdrB, 0, Marshal.SizeOf(pHdr)); pHdr = new ParallelsHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(pHdr)); - Marshal.Copy(pHdr_b, 0, headerPtr, Marshal.SizeOf(pHdr)); + Marshal.Copy(pHdrB, 0, headerPtr, Marshal.SizeOf(pHdr)); pHdr = (ParallelsHeader)Marshal.PtrToStructure(headerPtr, typeof(ParallelsHeader)); Marshal.FreeHGlobal(headerPtr); - return ParallelsMagic.SequenceEqual(pHdr.magic) || ParallelsExtMagic.SequenceEqual(pHdr.magic); + return parallelsMagic.SequenceEqual(pHdr.magic) || parallelsExtMagic.SequenceEqual(pHdr.magic); } public override bool OpenImage(Filter imageFilter) @@ -177,11 +177,11 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] pHdr_b = new byte[Marshal.SizeOf(pHdr)]; - stream.Read(pHdr_b, 0, Marshal.SizeOf(pHdr)); + byte[] pHdrB = new byte[Marshal.SizeOf(pHdr)]; + stream.Read(pHdrB, 0, Marshal.SizeOf(pHdr)); pHdr = new ParallelsHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(pHdr)); - Marshal.Copy(pHdr_b, 0, headerPtr, Marshal.SizeOf(pHdr)); + Marshal.Copy(pHdrB, 0, headerPtr, Marshal.SizeOf(pHdr)); pHdr = (ParallelsHeader)Marshal.PtrToStructure(headerPtr, typeof(ParallelsHeader)); Marshal.FreeHGlobal(headerPtr); @@ -197,14 +197,14 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("Parallels plugin", "pHdr.flags = {0}", pHdr.flags); DicConsole.DebugWriteLine("Parallels plugin", "pHdr.ext_off = {0}", pHdr.ext_off); - extended = ParallelsExtMagic.SequenceEqual(pHdr.magic); + extended = parallelsExtMagic.SequenceEqual(pHdr.magic); DicConsole.DebugWriteLine("Parallels plugin", "pHdr.extended = {0}", extended); DicConsole.DebugWriteLine("Parallels plugin", "Reading BAT"); - BAT = new uint[pHdr.bat_entries]; - byte[] BAT_b = new byte[pHdr.bat_entries * 4]; - stream.Read(BAT_b, 0, BAT_b.Length); - for(int i = 0; i < BAT.Length; i++) BAT[i] = BitConverter.ToUInt32(BAT_b, i * 4); + bat = new uint[pHdr.bat_entries]; + byte[] batB = new byte[pHdr.bat_entries * 4]; + stream.Read(batB, 0, batB.Length); + for(int i = 0; i < bat.Length; i++) bat[i] = BitConverter.ToUInt32(batB, i * 4); clusterBytes = pHdr.cluster_size * 512; if(pHdr.data_off > 0) dataOffset = pHdr.data_off * 512; @@ -212,19 +212,19 @@ namespace DiscImageChef.DiscImages sectorCache = new Dictionary<ulong, byte[]>(); - empty = (pHdr.flags & ParallelsEmpty) == ParallelsEmpty; + empty = (pHdr.flags & PARALLELS_EMPTY) == PARALLELS_EMPTY; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = pHdr.sectors; - ImageInfo.sectorSize = 512; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = pHdr.sectors * 512; - ImageInfo.cylinders = pHdr.cylinders; - ImageInfo.heads = pHdr.heads; - ImageInfo.sectorsPerTrack = (uint)((ImageInfo.sectors / ImageInfo.cylinders) / ImageInfo.heads); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = pHdr.sectors; + ImageInfo.SectorSize = 512; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = pHdr.sectors * 512; + ImageInfo.Cylinders = pHdr.cylinders; + ImageInfo.Heads = pHdr.heads; + ImageInfo.SectorsPerTrack = (uint)((ImageInfo.Sectors / ImageInfo.Cylinders) / ImageInfo.Heads); imageStream = stream; return true; @@ -232,7 +232,7 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -245,7 +245,7 @@ namespace DiscImageChef.DiscImages ulong index = sectorAddress / pHdr.cluster_size; ulong secOff = sectorAddress % pHdr.cluster_size; - uint batOff = BAT[index]; + uint batOff = bat[index]; ulong imageOff; if(batOff == 0) return new byte[512]; @@ -268,11 +268,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); if(empty) return new byte[512 * length]; @@ -295,17 +295,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -315,47 +315,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -499,18 +499,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/PartClone.cs b/DiscImageChef.DiscImages/PartClone.cs index 557f29cb0..42a9108cb 100644 --- a/DiscImageChef.DiscImages/PartClone.cs +++ b/DiscImageChef.DiscImages/PartClone.cs @@ -38,7 +38,7 @@ using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Extents; namespace DiscImageChef.DiscImages @@ -46,21 +46,21 @@ namespace DiscImageChef.DiscImages public class PartClone : ImagePlugin { #region Internal constants - readonly byte[] PartCloneMagic = + readonly byte[] partCloneMagic = {0x70, 0x61, 0x72, 0x74, 0x63, 0x6C, 0x6F, 0x6E, 0x65, 0x2D, 0x69, 0x6D, 0x61, 0x67, 0x65}; - readonly byte[] BiTmAgIc = {0x42, 0x69, 0x54, 0x6D, 0x41, 0x67, 0x49, 0x63}; + readonly byte[] biTmAgIc = {0x42, 0x69, 0x54, 0x6D, 0x41, 0x67, 0x49, 0x63}; const int CRC_SIZE = 4; #endregion #region Internal Structures - [StructLayout(LayoutKind.Sequential, Pack = 1)] /// <summary> /// PartClone disk image header, little-endian /// </summary> + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct PartCloneHeader { /// <summary> - /// Magic, <see cref="PartCloneMagic"/> + /// Magic, <see cref="PartClone.partCloneMagic"/> /// </summary> [MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)] public byte[] magic; /// <summary> @@ -107,8 +107,8 @@ namespace DiscImageChef.DiscImages Dictionary<ulong, byte[]> sectorCache; - const uint MaxCacheSize = 16777216; - uint maxCachedSectors = MaxCacheSize / 512; + const uint MAX_CACHE_SIZE = 16777216; + uint maxCachedSectors = MAX_CACHE_SIZE / 512; ExtentsULong extents; Dictionary<ulong, ulong> extentsOff; @@ -116,27 +116,27 @@ namespace DiscImageChef.DiscImages public PartClone() { Name = "PartClone disk image"; - PluginUUID = new Guid("AB1D7518-B548-4099-A4E2-C29C53DDE0C3"); + PluginUuid = new Guid("AB1D7518-B548-4099-A4E2-C29C53DDE0C3"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "PartClone"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "PartClone"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -146,11 +146,11 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] pHdr_b = new byte[Marshal.SizeOf(pHdr)]; - stream.Read(pHdr_b, 0, Marshal.SizeOf(pHdr)); + byte[] pHdrB = new byte[Marshal.SizeOf(pHdr)]; + stream.Read(pHdrB, 0, Marshal.SizeOf(pHdr)); pHdr = new PartCloneHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(pHdr)); - Marshal.Copy(pHdr_b, 0, headerPtr, Marshal.SizeOf(pHdr)); + Marshal.Copy(pHdrB, 0, headerPtr, Marshal.SizeOf(pHdr)); pHdr = (PartCloneHeader)Marshal.PtrToStructure(headerPtr, typeof(PartCloneHeader)); Marshal.FreeHGlobal(headerPtr); @@ -161,7 +161,7 @@ namespace DiscImageChef.DiscImages byte[] bitmagic = new byte[8]; stream.Read(bitmagic, 0, 8); - return PartCloneMagic.SequenceEqual(pHdr.magic) && BiTmAgIc.SequenceEqual(bitmagic); + return partCloneMagic.SequenceEqual(pHdr.magic) && biTmAgIc.SequenceEqual(bitmagic); } public override bool OpenImage(Filter imageFilter) @@ -171,11 +171,11 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] pHdr_b = new byte[Marshal.SizeOf(pHdr)]; - stream.Read(pHdr_b, 0, Marshal.SizeOf(pHdr)); + byte[] pHdrB = new byte[Marshal.SizeOf(pHdr)]; + stream.Read(pHdrB, 0, Marshal.SizeOf(pHdr)); pHdr = new PartCloneHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(pHdr)); - Marshal.Copy(pHdr_b, 0, headerPtr, Marshal.SizeOf(pHdr)); + Marshal.Copy(pHdrB, 0, headerPtr, Marshal.SizeOf(pHdr)); pHdr = (PartCloneHeader)Marshal.PtrToStructure(headerPtr, typeof(PartCloneHeader)); Marshal.FreeHGlobal(headerPtr); @@ -197,7 +197,7 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("PartClone plugin", "pHdr.bitmagic = {0}", StringHandlers.CToString(bitmagic)); - if(!BiTmAgIc.SequenceEqual(bitmagic)) + if(!biTmAgIc.SequenceEqual(bitmagic)) throw new ImageNotSupportedException("Could not find partclone BiTmAgIc, not continuing..."); dataOff = stream.Position; @@ -242,14 +242,14 @@ namespace DiscImageChef.DiscImages sectorCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = pHdr.totalBlocks; - ImageInfo.sectorSize = pHdr.blockSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = (ulong)(stream.Length - (4096 + 0x40 + (long)pHdr.totalBlocks)); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = pHdr.totalBlocks; + ImageInfo.SectorSize = pHdr.blockSize; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = (ulong)(stream.Length - (4096 + 0x40 + (long)pHdr.totalBlocks)); imageStream = stream; return true; @@ -264,7 +264,7 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -289,11 +289,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -326,17 +326,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -346,47 +346,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -530,18 +530,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/Partimage.cs b/DiscImageChef.DiscImages/Partimage.cs index 0e3c296c8..4b5b069bd 100644 --- a/DiscImageChef.DiscImages/Partimage.cs +++ b/DiscImageChef.DiscImages/Partimage.cs @@ -38,7 +38,7 @@ using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Extents; namespace DiscImageChef.DiscImages @@ -46,7 +46,7 @@ namespace DiscImageChef.DiscImages public class Partimage : ImagePlugin { #region Internal constants - readonly byte[] PartimageMagic = + readonly byte[] partimageMagic = { 0x50, 0x61, 0x52, 0x74, 0x49, 0x6D, 0x41, 0x67, 0x45, 0x2D, 0x56, 0x6F, 0x4C, 0x75, 0x4D, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 @@ -60,34 +60,34 @@ namespace DiscImageChef.DiscImages const int MAX_DESC_GEOMETRY = 1024; const int MAX_DESC_IDENTIFY = 4096; const int CHECK_FREQUENCY = 65536; - readonly string MAGIC_BEGIN_LOCALHEADER = "MAGIC-BEGIN-LOCALHEADER"; - readonly string MAGIC_BEGIN_DATABLOCKS = "MAGIC-BEGIN-DATABLOCKS"; - readonly string MAGIC_BEGIN_BITMAP = "MAGIC-BEGIN-BITMAP"; - readonly string MAGIC_BEGIN_MBRBACKUP = "MAGIC-BEGIN-MBRBACKUP"; - readonly string MAGIC_BEGIN_TAIL = "MAGIC-BEGIN-TAIL"; - readonly string MAGIC_BEGIN_INFO = "MAGIC-BEGIN-INFO"; - readonly string MAGIC_BEGIN_EXT000 = "MAGIC-BEGIN-EXT000"; // reserved for future use - readonly string MAGIC_BEGIN_EXT001 = "MAGIC-BEGIN-EXT001"; // reserved for future use - readonly string MAGIC_BEGIN_EXT002 = "MAGIC-BEGIN-EXT002"; // reserved for future use - readonly string MAGIC_BEGIN_EXT003 = "MAGIC-BEGIN-EXT003"; // reserved for future use - readonly string MAGIC_BEGIN_EXT004 = "MAGIC-BEGIN-EXT004"; // reserved for future use - readonly string MAGIC_BEGIN_EXT005 = "MAGIC-BEGIN-EXT005"; // reserved for future use - readonly string MAGIC_BEGIN_EXT006 = "MAGIC-BEGIN-EXT006"; // reserved for future use - readonly string MAGIC_BEGIN_EXT007 = "MAGIC-BEGIN-EXT007"; // reserved for future use - readonly string MAGIC_BEGIN_EXT008 = "MAGIC-BEGIN-EXT008"; // reserved for future use - readonly string MAGIC_BEGIN_EXT009 = "MAGIC-BEGIN-EXT009"; // reserved for future use - readonly string MAGIC_BEGIN_VOLUME = "PaRtImAgE-VoLuMe"; + const string MAGIC_BEGIN_LOCALHEADER = "MAGIC-BEGIN-LOCALHEADER"; + const string MAGIC_BEGIN_DATABLOCKS = "MAGIC-BEGIN-DATABLOCKS"; + const string MAGIC_BEGIN_BITMAP = "MAGIC-BEGIN-BITMAP"; + const string MAGIC_BEGIN_MBRBACKUP = "MAGIC-BEGIN-MBRBACKUP"; + const string MAGIC_BEGIN_TAIL = "MAGIC-BEGIN-TAIL"; + const string MAGIC_BEGIN_INFO = "MAGIC-BEGIN-INFO"; + const string MAGIC_BEGIN_EXT000 = "MAGIC-BEGIN-EXT000"; // reserved for future use + const string MAGIC_BEGIN_EXT001 = "MAGIC-BEGIN-EXT001"; // reserved for future use + const string MAGIC_BEGIN_EXT002 = "MAGIC-BEGIN-EXT002"; // reserved for future use + const string MAGIC_BEGIN_EXT003 = "MAGIC-BEGIN-EXT003"; // reserved for future use + const string MAGIC_BEGIN_EXT004 = "MAGIC-BEGIN-EXT004"; // reserved for future use + const string MAGIC_BEGIN_EXT005 = "MAGIC-BEGIN-EXT005"; // reserved for future use + const string MAGIC_BEGIN_EXT006 = "MAGIC-BEGIN-EXT006"; // reserved for future use + const string MAGIC_BEGIN_EXT007 = "MAGIC-BEGIN-EXT007"; // reserved for future use + const string MAGIC_BEGIN_EXT008 = "MAGIC-BEGIN-EXT008"; // reserved for future use + const string MAGIC_BEGIN_EXT009 = "MAGIC-BEGIN-EXT009"; // reserved for future use + const string MAGIC_BEGIN_VOLUME = "PaRtImAgE-VoLuMe"; #endregion #region Internal Structures - [StructLayout(LayoutKind.Sequential, Pack = 1)] /// <summary> /// Partimage disk image header, little-endian /// </summary> + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct PartimageHeader { /// <summary> - /// Magic, <see cref="PartimageMagic"/> + /// Magic, <see cref="Partimage.partimageMagic"/> /// </summary> [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)] public byte[] magic; /// <summary> @@ -108,23 +108,23 @@ namespace DiscImageChef.DiscImages [MarshalAs(UnmanagedType.ByValArray, SizeConst = 404)] public byte[] reserved; } - struct portable_tm + struct PortableTm { - public uint tm_sec; - public uint tm_min; - public uint tm_hour; - public uint tm_mday; - public uint tm_mon; - public uint tm_year; - public uint tm_wday; - public uint tm_yday; - public uint tm_isdst; + public uint Second; + public uint Minute; + public uint Hour; + public uint DayOfMonth; + public uint Month; + public uint Year; + public uint DayOfWeek; + public uint DayOfYear; + public uint IsDst; - public uint tm_gmtoff; - public uint tm_zone; + public uint GmtOff; + public uint Timezone; }; - enum pCompression : uint + enum PCompression : uint { None = 0, Gzip = 1, @@ -132,15 +132,15 @@ namespace DiscImageChef.DiscImages Lzo = 3 } - enum pEncryption : uint + enum PEncryption : uint { None = 0, } - [StructLayout(LayoutKind.Sequential, Pack = 1)] /// <summary> /// Partimage CMainHeader /// </summary> + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct PartimageMainHeader { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)] @@ -159,9 +159,9 @@ namespace DiscImageChef.DiscImages [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_UNAMEINFOLEN)] public byte[] szUnameVersion; [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_UNAMEINFOLEN)] public byte[] szUnameMachine; - public pCompression dwCompression; // COMPRESS_XXXXXX + public PCompression dwCompression; // COMPRESS_XXXXXX public uint dwMainFlags; - public portable_tm dateCreate; // date of image creation + public PortableTm dateCreate; // date of image creation public ulong qwPartSize; // size of the partition in bytes [MarshalAs(UnmanagedType.ByValArray, SizeConst = MAX_HOSTNAMESIZE)] public byte[] szHostname; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)] public byte[] szVersion; // version of the image file @@ -171,7 +171,7 @@ namespace DiscImageChef.DiscImages public uint dwMbrSize; // size of a MBR record (allow to change the size in the next versions) // future encryption support - public pEncryption dwEncryptAlgo; // algo used to encrypt data + public PEncryption dwEncryptAlgo; // algo used to encrypt data [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] public byte[] cHashTestKey; // used to test the password without giving it @@ -245,16 +245,16 @@ namespace DiscImageChef.DiscImages } #endregion - PartimageHeader CVolumeHeader; - PartimageMainHeader CMainHeader; + PartimageHeader cVolumeHeader; + PartimageMainHeader cMainHeader; byte[] bitmap; Stream imageStream; long dataOff; Dictionary<ulong, byte[]> sectorCache; - const uint MaxCacheSize = 16777216; - uint maxCachedSectors = MaxCacheSize / 512; + const uint MAX_CACHE_SIZE = 16777216; + uint maxCachedSectors = MAX_CACHE_SIZE / 512; ExtentsULong extents; Dictionary<ulong, ulong> extentsOff; @@ -262,27 +262,27 @@ namespace DiscImageChef.DiscImages public Partimage() { Name = "Partimage disk image"; - PluginUUID = new Guid("AAFDB99D-2B77-49EA-831C-C9BB58C68C95"); + PluginUuid = new Guid("AAFDB99D-2B77-49EA-831C-C9BB58C68C95"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "Partimage"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "Partimage"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -292,15 +292,15 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] pHdr_b = new byte[Marshal.SizeOf(CVolumeHeader)]; - stream.Read(pHdr_b, 0, Marshal.SizeOf(CVolumeHeader)); - CVolumeHeader = new PartimageHeader(); - IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(CVolumeHeader)); - Marshal.Copy(pHdr_b, 0, headerPtr, Marshal.SizeOf(CVolumeHeader)); - CVolumeHeader = (PartimageHeader)Marshal.PtrToStructure(headerPtr, typeof(PartimageHeader)); + byte[] pHdrB = new byte[Marshal.SizeOf(cVolumeHeader)]; + stream.Read(pHdrB, 0, Marshal.SizeOf(cVolumeHeader)); + cVolumeHeader = new PartimageHeader(); + IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(cVolumeHeader)); + Marshal.Copy(pHdrB, 0, headerPtr, Marshal.SizeOf(cVolumeHeader)); + cVolumeHeader = (PartimageHeader)Marshal.PtrToStructure(headerPtr, typeof(PartimageHeader)); Marshal.FreeHGlobal(headerPtr); - return PartimageMagic.SequenceEqual(CVolumeHeader.magic); + return partimageMagic.SequenceEqual(cVolumeHeader.magic); } public override bool OpenImage(Filter imageFilter) @@ -310,149 +310,149 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(CVolumeHeader)]; - stream.Read(hdr_b, 0, Marshal.SizeOf(CVolumeHeader)); - CVolumeHeader = new PartimageHeader(); - IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(CVolumeHeader)); - Marshal.Copy(hdr_b, 0, headerPtr, Marshal.SizeOf(CVolumeHeader)); - CVolumeHeader = (PartimageHeader)Marshal.PtrToStructure(headerPtr, typeof(PartimageHeader)); + byte[] hdrB = new byte[Marshal.SizeOf(cVolumeHeader)]; + stream.Read(hdrB, 0, Marshal.SizeOf(cVolumeHeader)); + cVolumeHeader = new PartimageHeader(); + IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(cVolumeHeader)); + Marshal.Copy(hdrB, 0, headerPtr, Marshal.SizeOf(cVolumeHeader)); + cVolumeHeader = (PartimageHeader)Marshal.PtrToStructure(headerPtr, typeof(PartimageHeader)); Marshal.FreeHGlobal(headerPtr); DicConsole.DebugWriteLine("Partimage plugin", "CVolumeHeader.magic = {0}", - StringHandlers.CToString(CVolumeHeader.magic)); + StringHandlers.CToString(cVolumeHeader.magic)); DicConsole.DebugWriteLine("Partimage plugin", "CVolumeHeader.version = {0}", - StringHandlers.CToString(CVolumeHeader.version)); + StringHandlers.CToString(cVolumeHeader.version)); DicConsole.DebugWriteLine("Partimage plugin", "CVolumeHeader.volumeNumber = {0}", - CVolumeHeader.volumeNumber); + cVolumeHeader.volumeNumber); DicConsole.DebugWriteLine("Partimage plugin", "CVolumeHeader.identificator = {0:X16}", - CVolumeHeader.identificator); + cVolumeHeader.identificator); // TODO: Support multifile volumes - if(CVolumeHeader.volumeNumber > 0) + if(cVolumeHeader.volumeNumber > 0) throw new FeatureSupportedButNotImplementedImageException("Support for multiple volumes not supported"); - hdr_b = new byte[Marshal.SizeOf(CMainHeader)]; - stream.Read(hdr_b, 0, Marshal.SizeOf(CMainHeader)); - CMainHeader = new PartimageMainHeader(); - headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(CMainHeader)); - Marshal.Copy(hdr_b, 0, headerPtr, Marshal.SizeOf(CMainHeader)); - CMainHeader = (PartimageMainHeader)Marshal.PtrToStructure(headerPtr, typeof(PartimageMainHeader)); + hdrB = new byte[Marshal.SizeOf(cMainHeader)]; + stream.Read(hdrB, 0, Marshal.SizeOf(cMainHeader)); + cMainHeader = new PartimageMainHeader(); + headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(cMainHeader)); + Marshal.Copy(hdrB, 0, headerPtr, Marshal.SizeOf(cMainHeader)); + cMainHeader = (PartimageMainHeader)Marshal.PtrToStructure(headerPtr, typeof(PartimageMainHeader)); Marshal.FreeHGlobal(headerPtr); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szFileSystem = {0}", - StringHandlers.CToString(CMainHeader.szFileSystem)); + StringHandlers.CToString(cMainHeader.szFileSystem)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szPartDescription = {0}", - StringHandlers.CToString(CMainHeader.szPartDescription)); + StringHandlers.CToString(cMainHeader.szPartDescription)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szOriginalDevice = {0}", - StringHandlers.CToString(CMainHeader.szOriginalDevice)); + StringHandlers.CToString(cMainHeader.szOriginalDevice)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szFirstImageFilepath = {0}", - StringHandlers.CToString(CMainHeader.szFirstImageFilepath)); + StringHandlers.CToString(cMainHeader.szFirstImageFilepath)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szUnameSysname = {0}", - StringHandlers.CToString(CMainHeader.szUnameSysname)); + StringHandlers.CToString(cMainHeader.szUnameSysname)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szUnameNodename = {0}", - StringHandlers.CToString(CMainHeader.szUnameNodename)); + StringHandlers.CToString(cMainHeader.szUnameNodename)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szUnameRelease = {0}", - StringHandlers.CToString(CMainHeader.szUnameRelease)); + StringHandlers.CToString(cMainHeader.szUnameRelease)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szUnameVersion = {0}", - StringHandlers.CToString(CMainHeader.szUnameVersion)); + StringHandlers.CToString(cMainHeader.szUnameVersion)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szUnameMachine = {0}", - StringHandlers.CToString(CMainHeader.szUnameMachine)); + StringHandlers.CToString(cMainHeader.szUnameMachine)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwCompression = {0} ({1})", - CMainHeader.dwCompression, (uint)CMainHeader.dwCompression); - DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwMainFlags = {0}", CMainHeader.dwMainFlags); + cMainHeader.dwCompression, (uint)cMainHeader.dwCompression); + DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwMainFlags = {0}", cMainHeader.dwMainFlags); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_sec = {0}", - CMainHeader.dateCreate.tm_sec); + cMainHeader.dateCreate.Second); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_min = {0}", - CMainHeader.dateCreate.tm_min); + cMainHeader.dateCreate.Minute); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_hour = {0}", - CMainHeader.dateCreate.tm_hour); + cMainHeader.dateCreate.Hour); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_mday = {0}", - CMainHeader.dateCreate.tm_mday); + cMainHeader.dateCreate.DayOfMonth); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_mon = {0}", - CMainHeader.dateCreate.tm_mon); + cMainHeader.dateCreate.Month); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_year = {0}", - CMainHeader.dateCreate.tm_year); + cMainHeader.dateCreate.Year); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_wday = {0}", - CMainHeader.dateCreate.tm_wday); + cMainHeader.dateCreate.DayOfWeek); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_yday = {0}", - CMainHeader.dateCreate.tm_yday); + cMainHeader.dateCreate.DayOfYear); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_isdst = {0}", - CMainHeader.dateCreate.tm_isdst); + cMainHeader.dateCreate.IsDst); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_gmtoffsec = {0}", - CMainHeader.dateCreate.tm_gmtoff); + cMainHeader.dateCreate.GmtOff); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate.tm_zone = {0}", - CMainHeader.dateCreate.tm_zone); + cMainHeader.dateCreate.Timezone); - DateTime dateCreate = new DateTime(1900 + (int)CMainHeader.dateCreate.tm_year, - (int)CMainHeader.dateCreate.tm_mon + 1, - (int)CMainHeader.dateCreate.tm_mday, (int)CMainHeader.dateCreate.tm_hour, - (int)CMainHeader.dateCreate.tm_min, (int)CMainHeader.dateCreate.tm_sec); + DateTime dateCreate = new DateTime(1900 + (int)cMainHeader.dateCreate.Year, + (int)cMainHeader.dateCreate.Month + 1, + (int)cMainHeader.dateCreate.DayOfMonth, (int)cMainHeader.dateCreate.Hour, + (int)cMainHeader.dateCreate.Minute, (int)cMainHeader.dateCreate.Second); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dateCreate = {0}", dateCreate); - DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.qwPartSize = {0}", CMainHeader.qwPartSize); + DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.qwPartSize = {0}", cMainHeader.qwPartSize); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szHostname = {0}", - StringHandlers.CToString(CMainHeader.szHostname)); + StringHandlers.CToString(cMainHeader.szHostname)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.szVersion = {0}", - StringHandlers.CToString(CMainHeader.szVersion)); - DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwMbrCount = {0}", CMainHeader.dwMbrCount); - DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwMbrSize = {0}", CMainHeader.dwMbrSize); + StringHandlers.CToString(cMainHeader.szVersion)); + DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwMbrCount = {0}", cMainHeader.dwMbrCount); + DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwMbrSize = {0}", cMainHeader.dwMbrSize); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwEncryptAlgo = {0} ({1})", - CMainHeader.dwEncryptAlgo, (uint)CMainHeader.dwEncryptAlgo); + cMainHeader.dwEncryptAlgo, (uint)cMainHeader.dwEncryptAlgo); DicConsole.DebugWriteLine("Partimage plugin", "ArrayIsNullOrEmpty(CMainHeader.cHashTestKey) = {0}", - ArrayHelpers.ArrayIsNullOrEmpty(CMainHeader.cHashTestKey)); + ArrayHelpers.ArrayIsNullOrEmpty(cMainHeader.cHashTestKey)); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture000 = {0}", - CMainHeader.dwReservedFuture000); + cMainHeader.dwReservedFuture000); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture001 = {0}", - CMainHeader.dwReservedFuture001); + cMainHeader.dwReservedFuture001); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture002 = {0}", - CMainHeader.dwReservedFuture002); + cMainHeader.dwReservedFuture002); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture003 = {0}", - CMainHeader.dwReservedFuture003); + cMainHeader.dwReservedFuture003); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture004 = {0}", - CMainHeader.dwReservedFuture004); + cMainHeader.dwReservedFuture004); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture005 = {0}", - CMainHeader.dwReservedFuture005); + cMainHeader.dwReservedFuture005); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture006 = {0}", - CMainHeader.dwReservedFuture006); + cMainHeader.dwReservedFuture006); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture007 = {0}", - CMainHeader.dwReservedFuture007); + cMainHeader.dwReservedFuture007); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture008 = {0}", - CMainHeader.dwReservedFuture008); + cMainHeader.dwReservedFuture008); DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.dwReservedFuture009 = {0}", - CMainHeader.dwReservedFuture009); + cMainHeader.dwReservedFuture009); DicConsole.DebugWriteLine("Partimage plugin", "ArrayIsNullOrEmpty(CMainHeader.cReserved) = {0}", - ArrayHelpers.ArrayIsNullOrEmpty(CMainHeader.cReserved)); - DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.crc = 0x{0:X8}", CMainHeader.crc); + ArrayHelpers.ArrayIsNullOrEmpty(cMainHeader.cReserved)); + DicConsole.DebugWriteLine("Partimage plugin", "CMainHeader.crc = 0x{0:X8}", cMainHeader.crc); // partimage 0.6.1 does not support them either - if(CMainHeader.dwEncryptAlgo != pEncryption.None) + if(cMainHeader.dwEncryptAlgo != PEncryption.None) throw new ImageNotSupportedException("Encrypted images are currently not supported."); string magic; // Skip MBRs - if(CMainHeader.dwMbrCount > 0) + if(cMainHeader.dwMbrCount > 0) { - hdr_b = new byte[MAGIC_BEGIN_MBRBACKUP.Length]; - stream.Read(hdr_b, 0, MAGIC_BEGIN_MBRBACKUP.Length); - magic = StringHandlers.CToString(hdr_b); + hdrB = new byte[MAGIC_BEGIN_MBRBACKUP.Length]; + stream.Read(hdrB, 0, MAGIC_BEGIN_MBRBACKUP.Length); + magic = StringHandlers.CToString(hdrB); if(!magic.Equals(MAGIC_BEGIN_MBRBACKUP)) throw new ImageNotSupportedException("Cannot find MBRs"); - stream.Seek(CMainHeader.dwMbrSize * CMainHeader.dwMbrCount, SeekOrigin.Current); + stream.Seek(cMainHeader.dwMbrSize * cMainHeader.dwMbrCount, SeekOrigin.Current); } // Skip extended headers and their CRC fields stream.Seek((MAGIC_BEGIN_EXT000.Length + 4) * 10, SeekOrigin.Current); - hdr_b = new byte[MAGIC_BEGIN_LOCALHEADER.Length]; - stream.Read(hdr_b, 0, MAGIC_BEGIN_LOCALHEADER.Length); - magic = StringHandlers.CToString(hdr_b); + hdrB = new byte[MAGIC_BEGIN_LOCALHEADER.Length]; + stream.Read(hdrB, 0, MAGIC_BEGIN_LOCALHEADER.Length); + magic = StringHandlers.CToString(hdrB); if(!magic.Equals(MAGIC_BEGIN_LOCALHEADER)) throw new ImageNotSupportedException("Cannot find local header"); - hdr_b = new byte[Marshal.SizeOf(typeof(CLocalHeader))]; - stream.Read(hdr_b, 0, Marshal.SizeOf(typeof(CLocalHeader))); + hdrB = new byte[Marshal.SizeOf(typeof(CLocalHeader))]; + stream.Read(hdrB, 0, Marshal.SizeOf(typeof(CLocalHeader))); headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(CLocalHeader))); - Marshal.Copy(hdr_b, 0, headerPtr, Marshal.SizeOf(typeof(CLocalHeader))); + Marshal.Copy(hdrB, 0, headerPtr, Marshal.SizeOf(typeof(CLocalHeader))); CLocalHeader localHeader = (CLocalHeader)Marshal.PtrToStructure(headerPtr, typeof(CLocalHeader)); Marshal.FreeHGlobal(headerPtr); @@ -469,25 +469,25 @@ namespace DiscImageChef.DiscImages ArrayHelpers.ArrayIsNullOrEmpty(localHeader.cReserved)); DicConsole.DebugWriteLine("Partimage plugin", "CLocalHeader.crc = 0x{0:X8}", localHeader.crc); - hdr_b = new byte[MAGIC_BEGIN_BITMAP.Length]; - stream.Read(hdr_b, 0, MAGIC_BEGIN_BITMAP.Length); - magic = StringHandlers.CToString(hdr_b); + hdrB = new byte[MAGIC_BEGIN_BITMAP.Length]; + stream.Read(hdrB, 0, MAGIC_BEGIN_BITMAP.Length); + magic = StringHandlers.CToString(hdrB); if(!magic.Equals(MAGIC_BEGIN_BITMAP)) throw new ImageNotSupportedException("Cannot find bitmap"); bitmap = new byte[localHeader.qwBitmapSize]; stream.Read(bitmap, 0, (int)localHeader.qwBitmapSize); - hdr_b = new byte[MAGIC_BEGIN_INFO.Length]; - stream.Read(hdr_b, 0, MAGIC_BEGIN_INFO.Length); - magic = StringHandlers.CToString(hdr_b); + hdrB = new byte[MAGIC_BEGIN_INFO.Length]; + stream.Read(hdrB, 0, MAGIC_BEGIN_INFO.Length); + magic = StringHandlers.CToString(hdrB); if(!magic.Equals(MAGIC_BEGIN_INFO)) throw new ImageNotSupportedException("Cannot find info block"); // Skip info block and its checksum stream.Seek(16384 + 4, SeekOrigin.Current); - hdr_b = new byte[MAGIC_BEGIN_DATABLOCKS.Length]; - stream.Read(hdr_b, 0, MAGIC_BEGIN_DATABLOCKS.Length); - magic = StringHandlers.CToString(hdr_b); + hdrB = new byte[MAGIC_BEGIN_DATABLOCKS.Length]; + stream.Read(hdrB, 0, MAGIC_BEGIN_DATABLOCKS.Length); + magic = StringHandlers.CToString(hdrB); if(!magic.Equals(MAGIC_BEGIN_DATABLOCKS)) throw new ImageNotSupportedException("Cannot find data blocks"); dataOff = stream.Position; @@ -497,9 +497,9 @@ namespace DiscImageChef.DiscImages // Seek to tail stream.Seek(-(Marshal.SizeOf(typeof(CMainTail)) + MAGIC_BEGIN_TAIL.Length), SeekOrigin.End); - hdr_b = new byte[MAGIC_BEGIN_TAIL.Length]; - stream.Read(hdr_b, 0, MAGIC_BEGIN_TAIL.Length); - magic = StringHandlers.CToString(hdr_b); + hdrB = new byte[MAGIC_BEGIN_TAIL.Length]; + stream.Read(hdrB, 0, MAGIC_BEGIN_TAIL.Length); + magic = StringHandlers.CToString(hdrB); if(!magic.Equals(MAGIC_BEGIN_TAIL)) throw new ImageNotSupportedException("Cannot find tail. Multiple volumes are not supported or image is corrupt."); @@ -543,16 +543,16 @@ namespace DiscImageChef.DiscImages sectorCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = dateCreate; - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = localHeader.qwBlocksCount + 1; - ImageInfo.sectorSize = (uint)localHeader.qwBlockSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageVersion = StringHandlers.CToString(CMainHeader.szVersion); - ImageInfo.imageComments = StringHandlers.CToString(CMainHeader.szPartDescription); - ImageInfo.imageSize = + ImageInfo.ImageCreationTime = dateCreate; + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = localHeader.qwBlocksCount + 1; + ImageInfo.SectorSize = (uint)localHeader.qwBlockSize; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageVersion = StringHandlers.CToString(cMainHeader.szVersion); + ImageInfo.ImageComments = StringHandlers.CToString(cMainHeader.szPartDescription); + ImageInfo.ImageSize = (ulong)(stream.Length - (dataOff + Marshal.SizeOf(typeof(CMainTail)) + MAGIC_BEGIN_TAIL.Length)); imageStream = stream; @@ -568,11 +568,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if((bitmap[sectorAddress / 8] & 1 << (int)(sectorAddress % 8)) == 0) return new byte[ImageInfo.sectorSize]; + if((bitmap[sectorAddress / 8] & 1 << (int)(sectorAddress % 8)) == 0) return new byte[ImageInfo.SectorSize]; byte[] sector; @@ -584,14 +584,14 @@ namespace DiscImageChef.DiscImages // Start of data + long imageOff = dataOff + // How many stored bytes to skip - (long)(blockOff * ImageInfo.sectorSize) + + (long)(blockOff * ImageInfo.SectorSize) + // How many bytes of CRC blocks to skip - (long)(blockOff / (CHECK_FREQUENCY / ImageInfo.sectorSize)) * + (long)(blockOff / (CHECK_FREQUENCY / ImageInfo.SectorSize)) * Marshal.SizeOf(typeof(CCheck)); - sector = new byte[ImageInfo.sectorSize]; + sector = new byte[ImageInfo.SectorSize]; imageStream.Seek(imageOff, SeekOrigin.Begin); - imageStream.Read(sector, 0, (int)ImageInfo.sectorSize); + imageStream.Read(sector, 0, (int)ImageInfo.SectorSize); if(sectorCache.Count > maxCachedSectors) { @@ -606,11 +606,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -625,7 +625,7 @@ namespace DiscImageChef.DiscImages } } - if(allEmpty) return new byte[ImageInfo.sectorSize * length]; + if(allEmpty) return new byte[ImageInfo.SectorSize * length]; for(uint i = 0; i < length; i++) { @@ -643,17 +643,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -663,47 +663,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -847,18 +847,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/QCOW.cs b/DiscImageChef.DiscImages/QCOW.cs index bce420262..f4403f625 100644 --- a/DiscImageChef.DiscImages/QCOW.cs +++ b/DiscImageChef.DiscImages/QCOW.cs @@ -40,21 +40,21 @@ using DiscImageChef.Filters; using SharpCompress.Compressors; using SharpCompress.Compressors.Deflate; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class QCOW : ImagePlugin + public class Qcow : ImagePlugin { #region Internal constants /// <summary> /// Magic number: 'Q', 'F', 'I', 0xFB /// </summary> - const uint QCowMagic = 0x514649FB; - const uint QCowVersion = 1; - const uint QCowEncryptionNone = 0; - const uint QCowEncryptionAES = 1; - const ulong QCowCompressed = 0x8000000000000000; + const uint QCOW_MAGIC = 0x514649FB; + const uint QCOW_VERSION = 1; + const uint QCOW_ENCRYPTION_NONE = 0; + const uint QCOW_ENCRYPTION_AES = 1; + const ulong QCOW_COMPRESSED = 0x8000000000000000; - const int MaxCacheSize = 16777216; + const int MAX_CACHE_SIZE = 16777216; #endregion #region Internal Structures @@ -65,7 +65,7 @@ namespace DiscImageChef.ImagePlugins struct QCowHeader { /// <summary> - /// <see cref="QCowMagic"/> + /// <see cref="Qcow.QCOW_MAGIC"/> /// </summary> public uint magic; /// <summary> @@ -127,37 +127,37 @@ namespace DiscImageChef.ImagePlugins Dictionary<ulong, byte[]> clusterCache; Dictionary<ulong, ulong[]> l2TableCache; - int maxCachedSectors = MaxCacheSize / 512; + int maxCachedSectors = MAX_CACHE_SIZE / 512; int maxL2TableCache; int maxClusterCache; Stream imageStream; - public QCOW() + public Qcow() { Name = "QEMU Copy-On-Write disk image"; - PluginUUID = new Guid("A5C35765-9FE2-469D-BBBF-ACDEBDB7B954"); + PluginUuid = new Guid("A5C35765-9FE2-469D-BBBF-ACDEBDB7B954"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = "1"; - ImageInfo.imageApplication = "QEMU"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = "1"; + ImageInfo.ImageApplication = "QEMU"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -167,11 +167,11 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] qHdr_b = new byte[48]; - stream.Read(qHdr_b, 0, 48); - qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCowHeader>(qHdr_b); + byte[] qHdrB = new byte[48]; + stream.Read(qHdrB, 0, 48); + qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCowHeader>(qHdrB); - return qHdr.magic == QCowMagic && qHdr.version == QCowVersion; + return qHdr.magic == QCOW_MAGIC && qHdr.version == QCOW_VERSION; } public override bool OpenImage(Filter imageFilter) @@ -181,9 +181,9 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] qHdr_b = new byte[48]; - stream.Read(qHdr_b, 0, 48); - qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCowHeader>(qHdr_b); + byte[] qHdrB = new byte[48]; + stream.Read(qHdrB, 0, 48); + qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCowHeader>(qHdrB); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.magic = 0x{0:X8}", qHdr.magic); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.version = {0}", qHdr.version); @@ -207,10 +207,10 @@ namespace DiscImageChef.ImagePlugins throw new ArgumentOutOfRangeException(nameof(qHdr.l2_bits), "L2 size must be between 512 bytes and 64 Kbytes"); - if(qHdr.crypt_method > QCowEncryptionAES) + if(qHdr.crypt_method > QCOW_ENCRYPTION_AES) throw new ArgumentOutOfRangeException(nameof(qHdr.crypt_method), "Invalid encryption method"); - if(qHdr.crypt_method > QCowEncryptionNone) + if(qHdr.crypt_method > QCOW_ENCRYPTION_NONE) throw new NotImplementedException("AES encrypted images not yet supported"); if(qHdr.backing_file_offset != 0) @@ -230,17 +230,17 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QCOW plugin", "qHdr.clusterSectors = {0}", clusterSectors); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.l1Size = {0}", l1Size); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.l2Size = {0}", l2Size); - DicConsole.DebugWriteLine("QCOW plugin", "qHdr.sectors = {0}", ImageInfo.sectors); + DicConsole.DebugWriteLine("QCOW plugin", "qHdr.sectors = {0}", ImageInfo.Sectors); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; - byte[] l1Table_b = new byte[l1Size * 8]; + byte[] l1TableB = new byte[l1Size * 8]; stream.Seek((long)qHdr.l1_table_offset, SeekOrigin.Begin); - stream.Read(l1Table_b, 0, (int)l1Size * 8); + stream.Read(l1TableB, 0, (int)l1Size * 8); l1Table = new ulong[l1Size]; DicConsole.DebugWriteLine("QCOW plugin", "Reading L1 table"); for(long i = 0; i < l1Table.LongLength; i++) - l1Table[i] = BigEndianBitConverter.ToUInt64(l1Table_b, (int)(i * 8)); + l1Table[i] = BigEndianBitConverter.ToUInt64(l1TableB, (int)(i * 8)); l1Mask = 0; int c = 0; @@ -270,8 +270,8 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QCOW plugin", "qHdr.l2Mask = {0:X}", l2Mask); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.sectorMask = {0:X}", sectorMask); - maxL2TableCache = MaxCacheSize / (l2Size * 8); - maxClusterCache = MaxCacheSize / clusterSize; + maxL2TableCache = MAX_CACHE_SIZE / (l2Size * 8); + maxClusterCache = MAX_CACHE_SIZE / clusterSize; imageStream = stream; @@ -279,26 +279,26 @@ namespace DiscImageChef.ImagePlugins l2TableCache = new Dictionary<ulong, ulong[]>(); clusterCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - if(qHdr.mtime > 0) ImageInfo.imageLastModificationTime = DateHandlers.UNIXUnsignedToDateTime(qHdr.mtime); - else ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = qHdr.size / 512; - ImageInfo.sectorSize = 512; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = qHdr.size; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + if(qHdr.mtime > 0) ImageInfo.ImageLastModificationTime = DateHandlers.UNIXUnsignedToDateTime(qHdr.mtime); + else ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = qHdr.size / 512; + ImageInfo.SectorSize = 512; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = qHdr.size; - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; return true; } public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -326,11 +326,11 @@ namespace DiscImageChef.ImagePlugins { l2Table = new ulong[l2Size]; imageStream.Seek((long)l1Table[l1Off], SeekOrigin.Begin); - byte[] l2Table_b = new byte[l2Size * 8]; - imageStream.Read(l2Table_b, 0, l2Size * 8); + byte[] l2TableB = new byte[l2Size * 8]; + imageStream.Read(l2TableB, 0, l2Size * 8); DicConsole.DebugWriteLine("QCOW plugin", "Reading L2 table #{0}", l1Off); for(long i = 0; i < l2Table.LongLength; i++) - l2Table[i] = BigEndianBitConverter.ToUInt64(l2Table_b, (int)(i * 8)); + l2Table[i] = BigEndianBitConverter.ToUInt64(l2TableB, (int)(i * 8)); if(l2TableCache.Count >= maxL2TableCache) l2TableCache.Clear(); @@ -348,14 +348,14 @@ namespace DiscImageChef.ImagePlugins byte[] cluster; if(!clusterCache.TryGetValue(offset, out cluster)) { - if((offset & QCowCompressed) == QCowCompressed) + if((offset & QCOW_COMPRESSED) == QCOW_COMPRESSED) { ulong compSizeMask = 0; ulong offMask = 0; compSizeMask = (ulong)(1 << qHdr.cluster_bits) - 1; compSizeMask <<= 63 - qHdr.cluster_bits; - offMask = (~compSizeMask) ^ QCowCompressed; + offMask = (~compSizeMask) ^ QCOW_COMPRESSED; ulong realOff = offset & offMask; ulong compSize = (offset & compSizeMask) >> (63 - qHdr.cluster_bits); @@ -398,11 +398,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -423,17 +423,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -443,47 +443,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -627,18 +627,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/QCOW2.cs b/DiscImageChef.DiscImages/QCOW2.cs index d16a5dc41..96b737c16 100644 --- a/DiscImageChef.DiscImages/QCOW2.cs +++ b/DiscImageChef.DiscImages/QCOW2.cs @@ -40,36 +40,36 @@ using DiscImageChef.Filters; using SharpCompress.Compressors; using SharpCompress.Compressors.Deflate; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class QCOW2 : ImagePlugin + public class Qcow2 : ImagePlugin { #region Internal constants /// <summary> /// Magic number: 'Q', 'F', 'I', 0xFB /// </summary> - const uint QCowMagic = 0x514649FB; - const uint QCowVersion2 = 2; - const uint QCowVersion3 = 3; - const uint QCowEncryptionNone = 0; - const uint QCowEncryptionAES = 1; + const uint QCOW_MAGIC = 0x514649FB; + const uint QCOW_VERSION2 = 2; + const uint QCOW_VERSION3 = 3; + const uint QCOW_ENCRYPTION_NONE = 0; + const uint QCOW_ENCRYPTION_AES = 1; - const ulong QcowFeatureDirty = 0x01; - const ulong QcowFeatureCorrupt = 0x02; - const ulong QcowFeatureMask = 0xFFFFFFFFFFFFFFFC; + const ulong QCOW_FEATURE_DIRTY = 0x01; + const ulong QCOW_FEATURE_CORRUPT = 0x02; + const ulong QCOW_FEATURE_MASK = 0xFFFFFFFFFFFFFFFC; - const ulong QcowCompatFeatureLazyRefcounts = 0x01; - const ulong QcowAutoClearFeatureBitmap = 0x01; + const ulong QCOW_COMPAT_FEATURE_LAZY_REFCOUNTS = 0x01; + const ulong QCOW_AUTO_CLEAR_FEATURE_BITMAP = 0x01; - const ulong QCowFlagsMask = 0x3FFFFFFFFFFFFFFF; - const ulong QCowCopied = 0x8000000000000000; - const ulong QCowCompressed = 0x4000000000000000; + const ulong QCOW_FLAGS_MASK = 0x3FFFFFFFFFFFFFFF; + const ulong QCOW_COPIED = 0x8000000000000000; + const ulong QCOW_COMPRESSED = 0x4000000000000000; - const ulong QCowHeaderExtensionBackingFile = 0xE2792ACA; - const ulong QCowHeaderExtensionFeatureTable = 0x6803F857; - const ulong QCowHeaderExtensionBitmaps = 0x23852875; + const ulong QCOW_HEADER_EXTENSION_BACKING_FILE = 0xE2792ACA; + const ulong QCOW_HEADER_EXTENSION_FEATURE_TABLE = 0x6803F857; + const ulong QCOW_HEADER_EXTENSION_BITMAPS = 0x23852875; - const int MaxCacheSize = 16777216; + const int MAX_CACHE_SIZE = 16777216; #endregion #region Internal Structures @@ -80,7 +80,7 @@ namespace DiscImageChef.ImagePlugins struct QCow2Header { /// <summary> - /// <see cref="QCowMagic"/> + /// <see cref="Qcow2.QCOW_MAGIC"/> /// </summary> public uint magic; /// <summary> @@ -157,37 +157,37 @@ namespace DiscImageChef.ImagePlugins Dictionary<ulong, byte[]> clusterCache; Dictionary<ulong, ulong[]> l2TableCache; - int maxCachedSectors = MaxCacheSize / 512; + int maxCachedSectors = MAX_CACHE_SIZE / 512; int maxL2TableCache; int maxClusterCache; Stream imageStream; - public QCOW2() + public Qcow2() { Name = "QEMU Copy-On-Write disk image v2"; - PluginUUID = new Guid("F20107CB-95B3-4398-894B-975261F1E8C5"); + PluginUuid = new Guid("F20107CB-95B3-4398-894B-975261F1E8C5"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = "QEMU"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = "QEMU"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -197,14 +197,14 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] qHdr_b = new byte[Marshal.SizeOf(qHdr)]; - stream.Read(qHdr_b, 0, Marshal.SizeOf(qHdr)); - qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCow2Header>(qHdr_b); + byte[] qHdrB = new byte[Marshal.SizeOf(qHdr)]; + stream.Read(qHdrB, 0, Marshal.SizeOf(qHdr)); + qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCow2Header>(qHdrB); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.magic = 0x{0:X8}", qHdr.magic); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.version = {0}", qHdr.version); - return qHdr.magic == QCowMagic && (qHdr.version == QCowVersion2 || qHdr.version == QCowVersion3); + return qHdr.magic == QCOW_MAGIC && (qHdr.version == QCOW_VERSION2 || qHdr.version == QCOW_VERSION3); } public override bool OpenImage(Filter imageFilter) @@ -214,9 +214,9 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] qHdr_b = new byte[Marshal.SizeOf(qHdr)]; - stream.Read(qHdr_b, 0, Marshal.SizeOf(qHdr)); - qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCow2Header>(qHdr_b); + byte[] qHdrB = new byte[Marshal.SizeOf(qHdr)]; + stream.Read(qHdrB, 0, Marshal.SizeOf(qHdr)); + qHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<QCow2Header>(qHdrB); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.magic = 0x{0:X8}", qHdr.magic); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.version = {0}", qHdr.version); @@ -233,7 +233,7 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QCOW plugin", "qHdr.nb_snapshots = {0}", qHdr.nb_snapshots); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.snapshots_offset = {0}", qHdr.snapshots_offset); - if(qHdr.version >= QCowVersion3) + if(qHdr.version >= QCOW_VERSION3) { DicConsole.DebugWriteLine("QCOW plugin", "qHdr.features = {0:X}", qHdr.features); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.compat_features = {0:X}", qHdr.compat_features); @@ -241,10 +241,10 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QCOW plugin", "qHdr.refcount_order = {0}", qHdr.refcount_order); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.header_length = {0}", qHdr.header_length); - if((qHdr.features & QcowFeatureMask) != 0) + if((qHdr.features & QCOW_FEATURE_MASK) != 0) throw new ImageNotSupportedException(string.Format("Unknown incompatible features {0:X} enabled, not proceeding.", - qHdr.features & QcowFeatureMask)); + qHdr.features & QCOW_FEATURE_MASK)); } if(qHdr.size <= 1) throw new ArgumentOutOfRangeException(nameof(qHdr.size), "Image size is too small"); @@ -253,10 +253,10 @@ namespace DiscImageChef.ImagePlugins throw new ArgumentOutOfRangeException(nameof(qHdr.cluster_bits), "Cluster size must be between 512 bytes and 64 Kbytes"); - if(qHdr.crypt_method > QCowEncryptionAES) + if(qHdr.crypt_method > QCOW_ENCRYPTION_AES) throw new ArgumentOutOfRangeException(nameof(qHdr.crypt_method), "Invalid encryption method"); - if(qHdr.crypt_method > QCowEncryptionNone) + if(qHdr.crypt_method > QCOW_ENCRYPTION_NONE) throw new NotImplementedException("AES encrypted images not yet supported"); if(qHdr.backing_file_offset != 0) @@ -276,18 +276,18 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QCOW plugin", "qHdr.clusterSectors = {0}", clusterSectors); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.qHdr.l1_size = {0}", qHdr.l1_size); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.l2Size = {0}", l2Size); - DicConsole.DebugWriteLine("QCOW plugin", "qHdr.sectors = {0}", ImageInfo.sectors); + DicConsole.DebugWriteLine("QCOW plugin", "qHdr.sectors = {0}", ImageInfo.Sectors); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; - byte[] l1Table_b = new byte[qHdr.l1_size * 8]; + byte[] l1TableB = new byte[qHdr.l1_size * 8]; stream.Seek((long)qHdr.l1_table_offset, SeekOrigin.Begin); - stream.Read(l1Table_b, 0, (int)qHdr.l1_size * 8); + stream.Read(l1TableB, 0, (int)qHdr.l1_size * 8); l1Table = new ulong[qHdr.l1_size]; // TODO: Optimize this DicConsole.DebugWriteLine("QCOW plugin", "Reading L1 table"); for(long i = 0; i < l1Table.LongLength; i++) - l1Table[i] = BigEndianBitConverter.ToUInt64(l1Table_b, (int)(i * 8)); + l1Table[i] = BigEndianBitConverter.ToUInt64(l1TableB, (int)(i * 8)); l1Mask = 0; int c = 0; @@ -317,8 +317,8 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QCOW plugin", "qHdr.l2Mask = {0:X}", l2Mask); DicConsole.DebugWriteLine("QCOW plugin", "qHdr.sectorMask = {0:X}", sectorMask); - maxL2TableCache = MaxCacheSize / (l2Size * 8); - maxClusterCache = MaxCacheSize / clusterSize; + maxL2TableCache = MAX_CACHE_SIZE / (l2Size * 8); + maxClusterCache = MAX_CACHE_SIZE / clusterSize; imageStream = stream; @@ -326,26 +326,26 @@ namespace DiscImageChef.ImagePlugins l2TableCache = new Dictionary<ulong, ulong[]>(); clusterCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = qHdr.size / 512; - ImageInfo.sectorSize = 512; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = qHdr.size; - ImageInfo.imageVersion = string.Format("{0}", qHdr.version); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = qHdr.size / 512; + ImageInfo.SectorSize = 512; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = qHdr.size; + ImageInfo.ImageVersion = string.Format("{0}", qHdr.version); - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; return true; } public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -372,12 +372,12 @@ namespace DiscImageChef.ImagePlugins if(!l2TableCache.TryGetValue(l1Off, out l2Table)) { l2Table = new ulong[l2Size]; - imageStream.Seek((long)(l1Table[l1Off] & QCowFlagsMask), SeekOrigin.Begin); - byte[] l2Table_b = new byte[l2Size * 8]; - imageStream.Read(l2Table_b, 0, l2Size * 8); + imageStream.Seek((long)(l1Table[l1Off] & QCOW_FLAGS_MASK), SeekOrigin.Begin); + byte[] l2TableB = new byte[l2Size * 8]; + imageStream.Read(l2TableB, 0, l2Size * 8); DicConsole.DebugWriteLine("QCOW plugin", "Reading L2 table #{0}", l1Off); for(long i = 0; i < l2Table.LongLength; i++) - l2Table[i] = BigEndianBitConverter.ToUInt64(l2Table_b, (int)(i * 8)); + l2Table[i] = BigEndianBitConverter.ToUInt64(l2TableB, (int)(i * 8)); if(l2TableCache.Count >= maxL2TableCache) l2TableCache.Clear(); @@ -390,12 +390,12 @@ namespace DiscImageChef.ImagePlugins sector = new byte[512]; - if((offset & QCowFlagsMask) != 0) + if((offset & QCOW_FLAGS_MASK) != 0) { byte[] cluster; if(!clusterCache.TryGetValue(offset, out cluster)) { - if((offset & QCowCompressed) == QCowCompressed) + if((offset & QCOW_COMPRESSED) == QCOW_COMPRESSED) { ulong compSizeMask = 0; ulong offMask = 0; @@ -403,7 +403,7 @@ namespace DiscImageChef.ImagePlugins compSizeMask = (ulong)(1 << (int)(qHdr.cluster_bits - 8)) - 1; byte countbits = (byte)(qHdr.cluster_bits - 8); compSizeMask <<= (62 - countbits); - offMask = (~compSizeMask) & QCowFlagsMask; + offMask = (~compSizeMask) & QCOW_FLAGS_MASK; ulong realOff = offset & offMask; ulong compSize = (((offset & compSizeMask) >> (62 - countbits)) + 1) * 512; @@ -425,7 +425,7 @@ namespace DiscImageChef.ImagePlugins else { cluster = new byte[clusterSize]; - imageStream.Seek((long)(offset & QCowFlagsMask), SeekOrigin.Begin); + imageStream.Seek((long)(offset & QCOW_FLAGS_MASK), SeekOrigin.Begin); imageStream.Read(cluster, 0, clusterSize); } @@ -446,11 +446,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -471,17 +471,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -491,47 +491,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -675,18 +675,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/QED.cs b/DiscImageChef.DiscImages/QED.cs index 105f957b3..260bf3544 100644 --- a/DiscImageChef.DiscImages/QED.cs +++ b/DiscImageChef.DiscImages/QED.cs @@ -38,35 +38,35 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class QED : ImagePlugin + public class Qed : ImagePlugin { #region Internal constants /// <summary> /// Magic number: 'Q', 'E', 'D', 0x00 /// </summary> - const uint QedMagic = 0x00444551; + const uint QED_MAGIC = 0x00444551; /// <summary> /// Mask of unsupported incompatible features /// </summary> - const ulong QedFeatureMask = 0xFFFFFFFFFFFFFFF8; + const ulong QED_FEATURE_MASK = 0xFFFFFFFFFFFFFFF8; /// <summary> /// File is differential (has a backing file) /// </summary> - const ulong QedFeature_BackingFile = 0x01; + const ulong QED_FEATURE_BACKING_FILE = 0x01; /// <summary> /// Image needs a consistency check before writing /// </summary> - const ulong QedFeature_NeedsCheck = 0x02; + const ulong QED_FEATURE_NEEDS_CHECK = 0x02; /// <summary>s /// Backing file is a raw disk image /// </summary> - const ulong QedFeature_RawBacking = 0x04; + const ulong QED_FEATURE_RAW_BACKING = 0x04; - const int MaxCacheSize = 16777216; + const int MAX_CACHE_SIZE = 16777216; #endregion #region Internal Structures @@ -77,7 +77,7 @@ namespace DiscImageChef.ImagePlugins struct QedHeader { /// <summary> - /// <see cref="QedMagic"/> + /// <see cref="Qed.QED_MAGIC"/> /// </summary> public uint magic; /// <summary> @@ -138,37 +138,37 @@ namespace DiscImageChef.ImagePlugins Dictionary<ulong, byte[]> clusterCache; Dictionary<ulong, ulong[]> l2TableCache; - uint maxCachedSectors = MaxCacheSize / 512; + uint maxCachedSectors = MAX_CACHE_SIZE / 512; uint maxL2TableCache; uint maxClusterCache; Stream imageStream; - public QED() + public Qed() { Name = "QEMU Enhanced Disk image"; - PluginUUID = new Guid("B9DBB155-A69A-4C10-BF91-96BF431B9BB6"); + PluginUuid = new Guid("B9DBB155-A69A-4C10-BF91-96BF431B9BB6"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = "1"; - ImageInfo.imageApplication = "QEMU"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = "1"; + ImageInfo.ImageApplication = "QEMU"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -178,15 +178,15 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] qHdr_b = new byte[64]; - stream.Read(qHdr_b, 0, 64); + byte[] qHdrB = new byte[64]; + stream.Read(qHdrB, 0, 64); qHdr = new QedHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(64); - Marshal.Copy(qHdr_b, 0, headerPtr, 64); + Marshal.Copy(qHdrB, 0, headerPtr, 64); qHdr = (QedHeader)Marshal.PtrToStructure(headerPtr, typeof(QedHeader)); Marshal.FreeHGlobal(headerPtr); - return qHdr.magic == QedMagic; + return qHdr.magic == QED_MAGIC; } public override bool OpenImage(Filter imageFilter) @@ -196,11 +196,11 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] qHdr_b = new byte[64]; - stream.Read(qHdr_b, 0, 64); + byte[] qHdrB = new byte[64]; + stream.Read(qHdrB, 0, 64); qHdr = new QedHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(64); - Marshal.Copy(qHdr_b, 0, headerPtr, 64); + Marshal.Copy(qHdrB, 0, headerPtr, 64); qHdr = (QedHeader)Marshal.PtrToStructure(headerPtr, typeof(QedHeader)); Marshal.FreeHGlobal(headerPtr); @@ -233,12 +233,12 @@ namespace DiscImageChef.ImagePlugins throw new ArgumentOutOfRangeException(nameof(qHdr.table_size), "Table size must be between 1 and 16 clusters"); - if((qHdr.features & QedFeatureMask) > 0) + if((qHdr.features & QED_FEATURE_MASK) > 0) throw new ArgumentOutOfRangeException(nameof(qHdr.features), string.Format("Image uses unknown incompatible features {0:X}", - qHdr.features & QedFeatureMask)); + qHdr.features & QED_FEATURE_MASK)); - if((qHdr.features & QedFeature_BackingFile) == QedFeature_BackingFile) + if((qHdr.features & QED_FEATURE_BACKING_FILE) == QED_FEATURE_BACKING_FILE) throw new NotImplementedException("Differencing images not yet supported"); clusterSectors = qHdr.cluster_size / 512; @@ -247,18 +247,18 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QED plugin", "qHdr.clusterSectors = {0}", clusterSectors); DicConsole.DebugWriteLine("QED plugin", "qHdr.tableSize = {0}", tableSize); - byte[] l1Table_b = new byte[tableSize * 8]; + byte[] l1TableB = new byte[tableSize * 8]; stream.Seek((long)qHdr.l1_table_offset, SeekOrigin.Begin); - stream.Read(l1Table_b, 0, (int)tableSize * 8); + stream.Read(l1TableB, 0, (int)tableSize * 8); l1Table = new ulong[tableSize]; DicConsole.DebugWriteLine("QED plugin", "Reading L1 table"); - for(long i = 0; i < l1Table.LongLength; i++) l1Table[i] = BitConverter.ToUInt64(l1Table_b, (int)(i * 8)); + for(long i = 0; i < l1Table.LongLength; i++) l1Table[i] = BitConverter.ToUInt64(l1TableB, (int)(i * 8)); l1Mask = 0; int c = 0; - clusterBits = ctz32(qHdr.cluster_size); + clusterBits = Ctz32(qHdr.cluster_size); l2Mask = (tableSize - 1) << clusterBits; - l1Shift = clusterBits + ctz32(tableSize); + l1Shift = clusterBits + Ctz32(tableSize); for(int i = 0; i < 64; i++) { @@ -280,8 +280,8 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("QED plugin", "qHdr.l2Mask = {0:X}", l2Mask); DicConsole.DebugWriteLine("QED plugin", "qHdr.sectorMask = {0:X}", sectorMask); - maxL2TableCache = MaxCacheSize / (tableSize); - maxClusterCache = MaxCacheSize / qHdr.cluster_size; + maxL2TableCache = MAX_CACHE_SIZE / (tableSize); + maxClusterCache = MAX_CACHE_SIZE / qHdr.cluster_size; imageStream = stream; @@ -289,25 +289,25 @@ namespace DiscImageChef.ImagePlugins l2TableCache = new Dictionary<ulong, ulong[]>(); clusterCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = qHdr.image_size / 512; - ImageInfo.sectorSize = 512; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = qHdr.image_size; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = qHdr.image_size / 512; + ImageInfo.SectorSize = 512; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = qHdr.image_size; - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; return true; } public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -335,11 +335,11 @@ namespace DiscImageChef.ImagePlugins { l2Table = new ulong[tableSize]; imageStream.Seek((long)l1Table[l1Off], SeekOrigin.Begin); - byte[] l2Table_b = new byte[tableSize * 8]; - imageStream.Read(l2Table_b, 0, (int)tableSize * 8); + byte[] l2TableB = new byte[tableSize * 8]; + imageStream.Read(l2TableB, 0, (int)tableSize * 8); DicConsole.DebugWriteLine("QED plugin", "Reading L2 table #{0}", l1Off); for(long i = 0; i < l2Table.LongLength; i++) - l2Table[i] = BitConverter.ToUInt64(l2Table_b, (int)(i * 8)); + l2Table[i] = BitConverter.ToUInt64(l2TableB, (int)(i * 8)); if(l2TableCache.Count >= maxL2TableCache) l2TableCache.Clear(); @@ -378,11 +378,11 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -403,17 +403,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -423,47 +423,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } bool IsPowerOfTwo(uint x) @@ -473,7 +473,7 @@ namespace DiscImageChef.ImagePlugins return (x == 1); } - static int ctz32(uint val) + static int Ctz32(uint val) { int cnt = 0; if((val & 0xFFFF) == 0) @@ -647,18 +647,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/RayDIM.cs b/DiscImageChef.DiscImages/RayDIM.cs index 1f5954b88..b2f0daf23 100644 --- a/DiscImageChef.DiscImages/RayDIM.cs +++ b/DiscImageChef.DiscImages/RayDIM.cs @@ -39,9 +39,9 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class RayDIM : ImagePlugin + public class RayDim : ImagePlugin { #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] @@ -64,7 +64,7 @@ namespace DiscImageChef.ImagePlugins } #endregion - readonly string DimSignatureRegEx = + const string DIM_SIGNATURE_REGEX = "Disk IMage VER (?<major>\\d).(?<minor>\\d) Copyright \\(C\\) (?<year>\\d{4}) Ray Arachelian, All Rights Reserved\\." ; @@ -72,29 +72,29 @@ namespace DiscImageChef.ImagePlugins MemoryStream disk; #endregion - public RayDIM() + public RayDim() { Name = "Ray Arachelian's Disk IMage"; - PluginUUID = new Guid("F541F4E7-C1E3-4A2D-B07F-D863E87AB961"); + PluginUuid = new Guid("F541F4E7-C1E3-4A2D-B07F-D863E87AB961"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "Ray Arachelian's Disk IMage"; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "Ray Arachelian's Disk IMage"; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -122,7 +122,7 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("Ray Arachelian's Disk IMage plugin", "header.sectorsPerTrack = {0}", header.sectorsPerTrack); - Regex sx = new Regex(DimSignatureRegEx); + Regex sx = new Regex(DIM_SIGNATURE_REGEX); Match sm = sx.Match(signature); DicConsole.DebugWriteLine("Ray Arachelian's Disk IMage plugin", "header.signature matches? = {0}", @@ -149,83 +149,83 @@ namespace DiscImageChef.ImagePlugins string signature = StringHandlers.CToString(header.signature); - Regex sx = new Regex(DimSignatureRegEx); + Regex sx = new Regex(DIM_SIGNATURE_REGEX); Match sm = sx.Match(signature); if(!sm.Success) return false; - ImageInfo.imageApplicationVersion = + ImageInfo.ImageApplicationVersion = string.Format("{0}.{1}", sm.Groups["major"].Value, sm.Groups["minor"].Value); - ImageInfo.cylinders = (uint)(header.cylinders + 1); - ImageInfo.heads = (uint)(header.heads + 1); - ImageInfo.sectorsPerTrack = header.sectorsPerTrack; - ImageInfo.sectors = ImageInfo.cylinders * ImageInfo.heads * ImageInfo.sectorsPerTrack; - ImageInfo.sectorSize = 512; + ImageInfo.Cylinders = (uint)(header.cylinders + 1); + ImageInfo.Heads = (uint)(header.heads + 1); + ImageInfo.SectorsPerTrack = header.sectorsPerTrack; + ImageInfo.Sectors = ImageInfo.Cylinders * ImageInfo.Heads * ImageInfo.SectorsPerTrack; + ImageInfo.SectorSize = 512; - byte[] sectors = new byte[ImageInfo.sectorsPerTrack * ImageInfo.sectorSize]; + byte[] sectors = new byte[ImageInfo.SectorsPerTrack * ImageInfo.SectorSize]; disk = new MemoryStream(); - for(int i = 0; i < ImageInfo.sectorsPerTrack * ImageInfo.sectorSize; i++) + for(int i = 0; i < ImageInfo.SectorsPerTrack * ImageInfo.SectorSize; i++) { stream.Read(sectors, 0, sectors.Length); - stream.Seek(ImageInfo.sectorsPerTrack, SeekOrigin.Current); + stream.Seek(ImageInfo.SectorsPerTrack, SeekOrigin.Current); disk.Write(sectors, 0, sectors.Length); } switch(header.diskType) { case RayDiskTypes.Md2hd: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15) - ImageInfo.mediaType = MediaType.DOS_525_HD; + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15) + ImageInfo.MediaType = MediaType.DOS_525_HD; else goto case RayDiskTypes.Md2dd; break; case RayDiskTypes.Md2dd: - if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8) - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 8) - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 40 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; - else ImageInfo.mediaType = MediaType.Unknown; + if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8) + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 8) + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 40 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; + else ImageInfo.MediaType = MediaType.Unknown; break; case RayDiskTypes.Mf2ed: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 36) - ImageInfo.mediaType = MediaType.DOS_35_ED; + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 36) + ImageInfo.MediaType = MediaType.DOS_35_ED; else goto case RayDiskTypes.Mf2hd; break; case RayDiskTypes.Mf2hd: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 18) - ImageInfo.mediaType = MediaType.DOS_35_HD; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 21) - ImageInfo.mediaType = MediaType.DMF; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 82 && ImageInfo.sectorsPerTrack == 21) - ImageInfo.mediaType = MediaType.DMF_82; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 15) - ImageInfo.mediaType = MediaType.NEC_35_HD_15; + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 18) + ImageInfo.MediaType = MediaType.DOS_35_HD; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 21) + ImageInfo.MediaType = MediaType.DMF; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 82 && ImageInfo.SectorsPerTrack == 21) + ImageInfo.MediaType = MediaType.DMF_82; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 15) + ImageInfo.MediaType = MediaType.NEC_35_HD_15; else goto case RayDiskTypes.Mf2dd; break; case RayDiskTypes.Mf2dd: - if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; - else if(ImageInfo.heads == 2 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8) - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 80 && ImageInfo.sectorsPerTrack == 8) - ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; - else if(ImageInfo.heads == 1 && ImageInfo.cylinders == 70 && ImageInfo.sectorsPerTrack == 9) - ImageInfo.mediaType = MediaType.Apricot_35; - else ImageInfo.mediaType = MediaType.Unknown; + if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; + else if(ImageInfo.Heads == 2 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8) + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 80 && ImageInfo.SectorsPerTrack == 8) + ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; + else if(ImageInfo.Heads == 1 && ImageInfo.Cylinders == 70 && ImageInfo.SectorsPerTrack == 9) + ImageInfo.MediaType = MediaType.Apricot_35; + else ImageInfo.MediaType = MediaType.Unknown; break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; return true; } @@ -240,24 +240,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -269,22 +269,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -299,16 +299,16 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - disk.Seek((long)(sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); - disk.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + disk.Seek((long)(sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); + disk.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -335,37 +335,37 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -376,62 +376,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() diff --git a/DiscImageChef.DiscImages/RsIde.cs b/DiscImageChef.DiscImages/RsIde.cs index 6fb8b449c..2232ef10f 100644 --- a/DiscImageChef.DiscImages/RsIde.cs +++ b/DiscImageChef.DiscImages/RsIde.cs @@ -39,36 +39,36 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Filters; using static DiscImageChef.Decoders.ATA.Identify; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class RsIde : ImagePlugin { public RsIde() { Name = "RS-IDE Hard Disk Image"; - PluginUUID = new Guid("47C3E78D-2BE2-4BA5-AA6B-FEE27C86FC65"); + PluginUuid = new Guid("47C3E78D-2BE2-4BA5-AA6B-FEE27C86FC65"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -89,7 +89,7 @@ namespace DiscImageChef.ImagePlugins HalfSectors = 1 } - Filter RsIdeImageFilter; + Filter rsIdeImageFilter; ushort dataOff; readonly byte[] signature = {0x52, 0x53, 0x2D, 0x49, 0x44, 0x45, 0x1A}; byte[] identify; @@ -110,11 +110,11 @@ namespace DiscImageChef.ImagePlugins Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); - byte[] hdr_b = new byte[Marshal.SizeOf(typeof(RsIdeHeader))]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(typeof(RsIdeHeader))]; + stream.Read(hdrB, 0, hdrB.Length); IntPtr hdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(RsIdeHeader))); - Marshal.Copy(hdr_b, 0, hdrPtr, Marshal.SizeOf(typeof(RsIdeHeader))); + Marshal.Copy(hdrB, 0, hdrPtr, Marshal.SizeOf(typeof(RsIdeHeader))); RsIdeHeader hdr = (RsIdeHeader)Marshal.PtrToStructure(hdrPtr, typeof(RsIdeHeader)); Marshal.FreeHGlobal(hdrPtr); @@ -122,15 +122,15 @@ namespace DiscImageChef.ImagePlugins dataOff = hdr.dataOff; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.sectorSize = (uint)(hdr.flags.HasFlag(RsIdeFlags.HalfSectors) ? 256 : 512); - ImageInfo.imageSize = (ulong)(stream.Length - dataOff); - ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.imageVersion = string.Format("{0}.{1}", hdr.revision >> 8, hdr.revision & 0x0F); + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.SectorSize = (uint)(hdr.flags.HasFlag(RsIdeFlags.HalfSectors) ? 256 : 512); + ImageInfo.ImageSize = (ulong)(stream.Length - dataOff); + ImageInfo.Sectors = ImageInfo.ImageSize / ImageInfo.SectorSize; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.ImageVersion = string.Format("{0}.{1}", hdr.revision >> 8, hdr.revision & 0x0F); if(!ArrayHelpers.ArrayIsNullOrEmpty(hdr.identify)) { @@ -140,26 +140,26 @@ namespace DiscImageChef.ImagePlugins if(ataId.HasValue) { - ImageInfo.readableMediaTags.Add(MediaTagType.ATA_IDENTIFY); - ImageInfo.cylinders = ataId.Value.Cylinders; - ImageInfo.heads = ataId.Value.Heads; - ImageInfo.sectorsPerTrack = ataId.Value.SectorsPerCard; - ImageInfo.driveFirmwareRevision = ataId.Value.FirmwareRevision; - ImageInfo.driveModel = ataId.Value.Model; - ImageInfo.driveSerialNumber = ataId.Value.SerialNumber; - ImageInfo.mediaSerialNumber = ataId.Value.MediaSerial; - ImageInfo.mediaManufacturer = ataId.Value.MediaManufacturer; + ImageInfo.ReadableMediaTags.Add(MediaTagType.ATA_IDENTIFY); + ImageInfo.Cylinders = ataId.Value.Cylinders; + ImageInfo.Heads = ataId.Value.Heads; + ImageInfo.SectorsPerTrack = ataId.Value.SectorsPerCard; + ImageInfo.DriveFirmwareRevision = ataId.Value.FirmwareRevision; + ImageInfo.DriveModel = ataId.Value.Model; + ImageInfo.DriveSerialNumber = ataId.Value.SerialNumber; + ImageInfo.MediaSerialNumber = ataId.Value.MediaSerial; + ImageInfo.MediaManufacturer = ataId.Value.MediaManufacturer; } } - if(ImageInfo.cylinders == 0 || ImageInfo.heads == 0 || ImageInfo.sectorsPerTrack == 0) + if(ImageInfo.Cylinders == 0 || ImageInfo.Heads == 0 || ImageInfo.SectorsPerTrack == 0) { - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; } - RsIdeImageFilter = imageFilter; + rsIdeImageFilter = imageFilter; return true; } @@ -171,17 +171,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -191,47 +191,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -241,19 +241,19 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Stream stream = RsIdeImageFilter.GetDataForkStream(); + Stream stream = rsIdeImageFilter.GetDataForkStream(); - stream.Seek((long)(dataOff + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)(dataOff + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -261,7 +261,7 @@ namespace DiscImageChef.ImagePlugins #region Unsupported features public override byte[] ReadDiskTag(MediaTagType tag) { - if(ImageInfo.readableMediaTags.Contains(tag) && tag == MediaTagType.ATA_IDENTIFY) + if(ImageInfo.ReadableMediaTags.Contains(tag) && tag == MediaTagType.ATA_IDENTIFY) { byte[] buffer = new byte[512]; Array.Copy(identify, 0, buffer, 0, 512); @@ -323,7 +323,7 @@ namespace DiscImageChef.ImagePlugins public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() @@ -333,7 +333,7 @@ namespace DiscImageChef.ImagePlugins public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() @@ -358,17 +358,17 @@ namespace DiscImageChef.ImagePlugins public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -406,18 +406,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/SaveDskF.cs b/DiscImageChef.DiscImages/SaveDskF.cs index a8205a3bf..fe4a1fbe9 100644 --- a/DiscImageChef.DiscImages/SaveDskF.cs +++ b/DiscImageChef.DiscImages/SaveDskF.cs @@ -39,7 +39,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class SaveDskF : ImagePlugin { @@ -106,29 +106,29 @@ namespace DiscImageChef.ImagePlugins public SaveDskF() { Name = "IBM SaveDskF"; - PluginUUID = new Guid("288CE058-1A51-4034-8C45-5A256CAE1461"); + PluginUuid = new Guid("288CE058-1A51-4034-8C45-5A256CAE1461"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -193,7 +193,7 @@ namespace DiscImageChef.ImagePlugins cmt = new byte[header.dataOffset - header.commentOffset]; stream.Seek(header.commentOffset, SeekOrigin.Begin); stream.Read(cmt, 0, cmt.Length); - if(cmt.Length > 1) ImageInfo.imageComments = StringHandlers.CToString(cmt, Encoding.GetEncoding("ibm437")); + if(cmt.Length > 1) ImageInfo.ImageComments = StringHandlers.CToString(cmt, Encoding.GetEncoding("ibm437")); calculatedChk = 0; stream.Seek(0, SeekOrigin.Begin); @@ -212,15 +212,15 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("SaveDskF plugin", "Calculated checksum = 0x{0:X8}, {1}", calculatedChk, calculatedChk == header.checksum); - ImageInfo.imageApplication = "SaveDskF"; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = imageFilter.GetFilename(); - ImageInfo.imageSize = (ulong)(stream.Length - header.dataOffset); - ImageInfo.sectors = (ulong)(header.sectorsPerTrack * header.heads * header.cylinders); - ImageInfo.sectorSize = header.sectorSize; + ImageInfo.ImageApplication = "SaveDskF"; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = imageFilter.GetFilename(); + ImageInfo.ImageSize = (ulong)(stream.Length - header.dataOffset); + ImageInfo.Sectors = (ulong)(header.sectorsPerTrack * header.heads * header.cylinders); + ImageInfo.SectorSize = header.sectorSize; - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; switch(header.cylinders) { case 40: @@ -230,10 +230,10 @@ namespace DiscImageChef.ImagePlugins switch(header.sectorsPerTrack) { case 8: - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_8; + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_8; break; case 9: - ImageInfo.mediaType = MediaType.DOS_525_SS_DD_9; + ImageInfo.MediaType = MediaType.DOS_525_SS_DD_9; break; } @@ -242,10 +242,10 @@ namespace DiscImageChef.ImagePlugins switch(header.sectorsPerTrack) { case 8: - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_8; + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_8; break; case 9: - ImageInfo.mediaType = MediaType.DOS_525_DS_DD_9; + ImageInfo.MediaType = MediaType.DOS_525_DS_DD_9; break; } @@ -260,7 +260,7 @@ namespace DiscImageChef.ImagePlugins switch(header.sectorsPerTrack) { case 9: - ImageInfo.mediaType = MediaType.Apricot_35; + ImageInfo.MediaType = MediaType.Apricot_35; break; } @@ -275,10 +275,10 @@ namespace DiscImageChef.ImagePlugins switch(header.sectorsPerTrack) { case 8: - ImageInfo.mediaType = MediaType.DOS_35_SS_DD_8; + ImageInfo.MediaType = MediaType.DOS_35_SS_DD_8; break; case 9: - ImageInfo.mediaType = MediaType.DOS_35_SS_DD_9; + ImageInfo.MediaType = MediaType.DOS_35_SS_DD_9; break; } @@ -287,22 +287,22 @@ namespace DiscImageChef.ImagePlugins switch(header.sectorsPerTrack) { case 8: - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_8; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_8; break; case 9: - ImageInfo.mediaType = MediaType.DOS_35_DS_DD_9; + ImageInfo.MediaType = MediaType.DOS_35_DS_DD_9; break; case 15: - ImageInfo.mediaType = MediaType.DOS_525_HD; + ImageInfo.MediaType = MediaType.DOS_525_HD; break; case 18: - ImageInfo.mediaType = MediaType.DOS_35_HD; + ImageInfo.MediaType = MediaType.DOS_35_HD; break; case 23: - ImageInfo.mediaType = MediaType.XDF_35; + ImageInfo.MediaType = MediaType.XDF_35; break; case 36: - ImageInfo.mediaType = MediaType.DOS_35_ED; + ImageInfo.MediaType = MediaType.DOS_35_ED; break; } @@ -311,15 +311,15 @@ namespace DiscImageChef.ImagePlugins break; default: - ImageInfo.mediaType = MediaType.Unknown; + ImageInfo.MediaType = MediaType.Unknown; break; } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - DicConsole.VerboseWriteLine("SaveDskF image contains a disk of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("SaveDskF comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("SaveDskF image contains a disk of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("SaveDskF comments: {0}", ImageInfo.ImageComments); // TODO: Support compressed images if(header.magic == SDF_MAGIC_COMPRESSED) @@ -328,12 +328,12 @@ namespace DiscImageChef.ImagePlugins // SaveDskF only ommits ending clusters, leaving no gaps behind, so reading all data we have... stream.Seek(header.dataOffset, SeekOrigin.Begin); - decodedDisk = new byte[ImageInfo.sectors * ImageInfo.sectorSize]; + decodedDisk = new byte[ImageInfo.Sectors * ImageInfo.SectorSize]; stream.Read(decodedDisk, 0, (int)(stream.Length - header.dataOffset)); - ImageInfo.cylinders = header.cylinders; - ImageInfo.heads = header.heads; - ImageInfo.sectorsPerTrack = header.sectorsPerTrack; + ImageInfo.Cylinders = header.cylinders; + ImageInfo.Heads = header.heads; + ImageInfo.SectorsPerTrack = header.sectorsPerTrack; return true; } @@ -348,24 +348,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -377,22 +377,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -402,16 +402,16 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; - Array.Copy(decodedDisk, (int)sectorAddress * ImageInfo.sectorSize, buffer, 0, - length * ImageInfo.sectorSize); + Array.Copy(decodedDisk, (int)sectorAddress * ImageInfo.SectorSize, buffer, 0, + length * ImageInfo.SectorSize); return buffer; } @@ -423,97 +423,97 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } #endregion Public methods diff --git a/DiscImageChef.DiscImages/SuperCardPro.cs b/DiscImageChef.DiscImages/SuperCardPro.cs index 337d9aeb5..4ab4a9ee9 100644 --- a/DiscImageChef.DiscImages/SuperCardPro.cs +++ b/DiscImageChef.DiscImages/SuperCardPro.cs @@ -40,7 +40,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class SuperCardPro : ImagePlugin { @@ -64,9 +64,9 @@ namespace DiscImageChef.ImagePlugins public struct TrackHeader { - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] signature; - public byte trackNumber; - public TrackEntry[] entries; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] public byte[] Signature; + public byte TrackNumber; + public TrackEntry[] Entries; } [StructLayout(LayoutKind.Sequential, Pack = 1)] @@ -100,15 +100,15 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// SuperCardPro header signature: "SCP" /// </summary> - readonly byte[] ScpSignature = {0x53, 0x43, 0x50}; + readonly byte[] scpSignature = {0x53, 0x43, 0x50}; /// <summary> /// SuperCardPro track header signature: "TRK" /// </summary> - readonly byte[] TrkSignature = {0x54, 0x52, 0x4B}; + readonly byte[] trkSignature = {0x54, 0x52, 0x4B}; /// <summary> /// SuperCardPro footer signature: "FPCS" /// </summary> - const uint FooterSignature = 0x53435046; + const uint FOOTER_SIGNATURE = 0x53435046; public enum ScpDiskType : byte { @@ -168,136 +168,136 @@ namespace DiscImageChef.ImagePlugins #region Internal variables // TODO: These variables have been made public so create-sidecar can access to this information until I define an API >4.0 - public ScpHeader header; - public Dictionary<byte, TrackHeader> tracks; + public ScpHeader Header; + public Dictionary<byte, TrackHeader> Tracks; Stream scpStream; #endregion Internal variables public SuperCardPro() { Name = "SuperCardPro"; - PluginUUID = new Guid("C5D3182E-1D45-4767-A205-E6E5C83444DC"); + PluginUuid = new Guid("C5D3182E-1D45-4767-A205-E6E5C83444DC"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } #region Public methods public override bool IdentifyImage(Filter imageFilter) { - header = new ScpHeader(); + Header = new ScpHeader(); Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); - if(stream.Length < Marshal.SizeOf(header)) return false; + if(stream.Length < Marshal.SizeOf(Header)) return false; - byte[] hdr = new byte[Marshal.SizeOf(header)]; - stream.Read(hdr, 0, Marshal.SizeOf(header)); + byte[] hdr = new byte[Marshal.SizeOf(Header)]; + stream.Read(hdr, 0, Marshal.SizeOf(Header)); - IntPtr hdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(header)); - Marshal.Copy(hdr, 0, hdrPtr, Marshal.SizeOf(header)); - header = (ScpHeader)Marshal.PtrToStructure(hdrPtr, typeof(ScpHeader)); + IntPtr hdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(Header)); + Marshal.Copy(hdr, 0, hdrPtr, Marshal.SizeOf(Header)); + Header = (ScpHeader)Marshal.PtrToStructure(hdrPtr, typeof(ScpHeader)); Marshal.FreeHGlobal(hdrPtr); - return ScpSignature.SequenceEqual(header.signature); + return scpSignature.SequenceEqual(Header.signature); } public override bool OpenImage(Filter imageFilter) { - header = new ScpHeader(); + Header = new ScpHeader(); scpStream = imageFilter.GetDataForkStream(); scpStream.Seek(0, SeekOrigin.Begin); - if(scpStream.Length < Marshal.SizeOf(header)) return false; + if(scpStream.Length < Marshal.SizeOf(Header)) return false; - byte[] hdr = new byte[Marshal.SizeOf(header)]; - scpStream.Read(hdr, 0, Marshal.SizeOf(header)); + byte[] hdr = new byte[Marshal.SizeOf(Header)]; + scpStream.Read(hdr, 0, Marshal.SizeOf(Header)); - IntPtr hdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(header)); - Marshal.Copy(hdr, 0, hdrPtr, Marshal.SizeOf(header)); - header = (ScpHeader)Marshal.PtrToStructure(hdrPtr, typeof(ScpHeader)); + IntPtr hdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(Header)); + Marshal.Copy(hdr, 0, hdrPtr, Marshal.SizeOf(Header)); + Header = (ScpHeader)Marshal.PtrToStructure(hdrPtr, typeof(ScpHeader)); Marshal.FreeHGlobal(hdrPtr); DicConsole.DebugWriteLine("SuperCardPro plugin", "header.signature = \"{0}\"", - StringHandlers.CToString(header.signature)); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.version = {0}.{1}", (header.version & 0xF0) >> 4, - header.version & 0xF); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.type = {0}", header.type); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.revolutions = {0}", header.revolutions); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.start = {0}", header.start); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.end = {0}", header.end); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.flags = {0}", header.flags); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.bitCellEncoding = {0}", header.bitCellEncoding); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.heads = {0}", header.heads); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.reserved = {0}", header.reserved); - DicConsole.DebugWriteLine("SuperCardPro plugin", "header.checksum = 0x{0:X8}", header.checksum); + StringHandlers.CToString(Header.signature)); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.version = {0}.{1}", (Header.version & 0xF0) >> 4, + Header.version & 0xF); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.type = {0}", Header.type); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.revolutions = {0}", Header.revolutions); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.start = {0}", Header.start); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.end = {0}", Header.end); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.flags = {0}", Header.flags); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.bitCellEncoding = {0}", Header.bitCellEncoding); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.heads = {0}", Header.heads); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.reserved = {0}", Header.reserved); + DicConsole.DebugWriteLine("SuperCardPro plugin", "header.checksum = 0x{0:X8}", Header.checksum); - if(!ScpSignature.SequenceEqual(header.signature)) return false; + if(!scpSignature.SequenceEqual(Header.signature)) return false; - tracks = new Dictionary<byte, TrackHeader>(); + Tracks = new Dictionary<byte, TrackHeader>(); - for(byte t = header.start; t <= header.end; t++) + for(byte t = Header.start; t <= Header.end; t++) { - if(t >= header.offsets.Length) break; + if(t >= Header.offsets.Length) break; - scpStream.Position = header.offsets[t]; + scpStream.Position = Header.offsets[t]; TrackHeader trk = new TrackHeader(); - trk.signature = new byte[3]; - trk.entries = new TrackEntry[header.revolutions]; - scpStream.Read(trk.signature, 0, trk.signature.Length); - trk.trackNumber = (byte)scpStream.ReadByte(); + trk.Signature = new byte[3]; + trk.Entries = new TrackEntry[Header.revolutions]; + scpStream.Read(trk.Signature, 0, trk.Signature.Length); + trk.TrackNumber = (byte)scpStream.ReadByte(); - if(!trk.signature.SequenceEqual(TrkSignature)) + if(!trk.Signature.SequenceEqual(trkSignature)) { DicConsole.DebugWriteLine("SuperCardPro plugin", - "Track header at {0} contains incorrect signature.", header.offsets[t]); + "Track header at {0} contains incorrect signature.", Header.offsets[t]); continue; } - if(trk.trackNumber != t) + if(trk.TrackNumber != t) { DicConsole.DebugWriteLine("SuperCardPro plugin", "Track number at {0} should be {1} but is {2}.", - header.offsets[t], t, trk.trackNumber); + Header.offsets[t], t, trk.TrackNumber); continue; } - DicConsole.DebugWriteLine("SuperCardPro plugin", "Found track {0} at {1}.", t, header.offsets[t]); + DicConsole.DebugWriteLine("SuperCardPro plugin", "Found track {0} at {1}.", t, Header.offsets[t]); - for(byte r = 0; r < header.revolutions; r++) + for(byte r = 0; r < Header.revolutions; r++) { byte[] rev = new byte[Marshal.SizeOf(typeof(TrackEntry))]; scpStream.Read(rev, 0, Marshal.SizeOf(typeof(TrackEntry))); IntPtr revPtr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(TrackEntry))); Marshal.Copy(rev, 0, revPtr, Marshal.SizeOf(typeof(TrackEntry))); - trk.entries[r] = (TrackEntry)Marshal.PtrToStructure(revPtr, typeof(TrackEntry)); + trk.Entries[r] = (TrackEntry)Marshal.PtrToStructure(revPtr, typeof(TrackEntry)); Marshal.FreeHGlobal(revPtr); // De-relative offsets - trk.entries[r].dataOffset += header.offsets[t]; + trk.Entries[r].dataOffset += Header.offsets[t]; } - tracks.Add(t, trk); + Tracks.Add(t, trk); } - if(header.flags.HasFlag(ScpFlags.HasFooter)) + if(Header.flags.HasFlag(ScpFlags.HasFooter)) { long position = scpStream.Position; scpStream.Seek(-4, SeekOrigin.End); @@ -308,7 +308,7 @@ namespace DiscImageChef.ImagePlugins scpStream.Read(footerSig, 0, 4); uint footerMagic = BitConverter.ToUInt32(footerSig, 0); - if(footerMagic == FooterSignature) + if(footerMagic == FOOTER_SIGNATURE) { scpStream.Seek(-Marshal.SizeOf(typeof(ScpFooter)), SeekOrigin.Current); @@ -350,46 +350,46 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("SuperCardPro plugin", "footer.signature = \"{0}\"", StringHandlers.CToString(BitConverter.GetBytes(footer.signature))); - ImageInfo.driveManufacturer = ReadPStringUTF8(scpStream, footer.manufacturerOffset); - ImageInfo.driveModel = ReadPStringUTF8(scpStream, footer.modelOffset); - ImageInfo.driveSerialNumber = ReadPStringUTF8(scpStream, footer.serialOffset); - ImageInfo.imageCreator = ReadPStringUTF8(scpStream, footer.creatorOffset); - ImageInfo.imageApplication = ReadPStringUTF8(scpStream, footer.applicationOffset); - ImageInfo.imageComments = ReadPStringUTF8(scpStream, footer.commentsOffset); + ImageInfo.DriveManufacturer = ReadPStringUtf8(scpStream, footer.manufacturerOffset); + ImageInfo.DriveModel = ReadPStringUtf8(scpStream, footer.modelOffset); + ImageInfo.DriveSerialNumber = ReadPStringUtf8(scpStream, footer.serialOffset); + ImageInfo.ImageCreator = ReadPStringUtf8(scpStream, footer.creatorOffset); + ImageInfo.ImageApplication = ReadPStringUtf8(scpStream, footer.applicationOffset); + ImageInfo.ImageComments = ReadPStringUtf8(scpStream, footer.commentsOffset); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.driveManufacturer = \"{0}\"", - ImageInfo.driveManufacturer); + ImageInfo.DriveManufacturer); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.driveModel = \"{0}\"", - ImageInfo.driveModel); + ImageInfo.DriveModel); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.driveSerialNumber = \"{0}\"", - ImageInfo.driveSerialNumber); + ImageInfo.DriveSerialNumber); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.imageCreator = \"{0}\"", - ImageInfo.imageCreator); + ImageInfo.ImageCreator); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.imageApplication = \"{0}\"", - ImageInfo.imageApplication); + ImageInfo.ImageApplication); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.imageComments = \"{0}\"", - ImageInfo.imageComments); + ImageInfo.ImageComments); if(footer.creationTime != 0) - ImageInfo.imageCreationTime = DateHandlers.UNIXToDateTime(footer.creationTime); - else ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageCreationTime = DateHandlers.UNIXToDateTime(footer.creationTime); + else ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); if(footer.modificationTime != 0) - ImageInfo.imageLastModificationTime = DateHandlers.UNIXToDateTime(footer.modificationTime); - else ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageLastModificationTime = DateHandlers.UNIXToDateTime(footer.modificationTime); + else ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.imageCreationTime = {0}", - ImageInfo.imageCreationTime); + ImageInfo.ImageCreationTime); DicConsole.DebugWriteLine("SuperCardPro plugin", "ImageInfo.imageLastModificationTime = {0}", - ImageInfo.imageLastModificationTime); + ImageInfo.ImageLastModificationTime); - ImageInfo.imageApplicationVersion = + ImageInfo.ImageApplicationVersion = string.Format("{0}.{1}", (footer.applicationVersion & 0xF0) >> 4, footer.applicationVersion & 0xF); - ImageInfo.driveFirmwareRevision = + ImageInfo.DriveFirmwareRevision = string.Format("{0}.{1}", (footer.firmwareVersion & 0xF0) >> 4, footer.firmwareVersion & 0xF); - ImageInfo.imageVersion = + ImageInfo.ImageVersion = string.Format("{0}.{1}", (footer.imageVersion & 0xF0) >> 4, footer.imageVersion & 0xF); break; @@ -400,25 +400,25 @@ namespace DiscImageChef.ImagePlugins } else { - ImageInfo.imageApplication = "SuperCardPro"; - ImageInfo.imageApplicationVersion = - string.Format("{0}.{1}", (header.version & 0xF0) >> 4, header.version & 0xF); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageVersion = "1.5"; + ImageInfo.ImageApplication = "SuperCardPro"; + ImageInfo.ImageApplicationVersion = + string.Format("{0}.{1}", (Header.version & 0xF0) >> 4, Header.version & 0xF); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageVersion = "1.5"; } throw new NotImplementedException("Flux decoding is not yet implemented."); } - string ReadPStringUTF8(Stream stream, uint position) + string ReadPStringUtf8(Stream stream, uint position) { if(position == 0) return null; stream.Position = position; - byte[] len_b = new byte[2]; - stream.Read(len_b, 0, 2); - ushort len = BitConverter.ToUInt16(len_b, 0); + byte[] lenB = new byte[2]; + stream.Read(lenB, 0, 2); + ushort len = BitConverter.ToUInt16(lenB, 0); if(len == 0 || len + stream.Position >= stream.Length) return null; @@ -430,22 +430,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -495,98 +495,98 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } // TODO: Check if it exists. If so, read it. public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override bool? VerifySector(ulong sectorAddress) @@ -594,15 +594,15 @@ namespace DiscImageChef.ImagePlugins throw new NotImplementedException("Flux decoding is not yet implemented."); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new NotImplementedException("Flux decoding is not yet implemented."); } public override bool? VerifyMediaImage() { - if(header.flags.HasFlag(ScpFlags.Writable)) return null; + if(Header.flags.HasFlag(ScpFlags.Writable)) return null; byte[] wholeFile = new byte[scpStream.Length]; uint sum = 0; @@ -612,7 +612,7 @@ namespace DiscImageChef.ImagePlugins for(int i = 0x10; i < wholeFile.Length; i++) sum += wholeFile[i]; - return header.checksum == sum; + return Header.checksum == sum; } #endregion Public methods @@ -672,8 +672,8 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/T98.cs b/DiscImageChef.DiscImages/T98.cs index bab946490..2b4e1dc36 100644 --- a/DiscImageChef.DiscImages/T98.cs +++ b/DiscImageChef.DiscImages/T98.cs @@ -37,36 +37,36 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class T98 : ImagePlugin { public T98() { Name = "T98 Hard Disk Image"; - PluginUUID = new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); + PluginUuid = new Guid("0410003E-6E7B-40E6-9328-BA5651ADF6B7"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -107,18 +107,18 @@ namespace DiscImageChef.ImagePlugins int cylinders = BitConverter.ToInt32(hdr_b, 0); - ImageInfo.mediaType = MediaType.GENERIC_HDD; + ImageInfo.MediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = (ulong)(stream.Length - 256); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = (ulong)((stream.Length / 256) - 1); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = 256; - ImageInfo.cylinders = (uint)cylinders; - ImageInfo.heads = 8; - ImageInfo.sectorsPerTrack = 33; + ImageInfo.ImageSize = (ulong)(stream.Length - 256); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = (ulong)((stream.Length / 256) - 1); + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = 256; + ImageInfo.Cylinders = (uint)cylinders; + ImageInfo.Heads = 8; + ImageInfo.SectorsPerTrack = 33; t98ImageFilter = imageFilter; @@ -132,17 +132,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -152,47 +152,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -202,19 +202,19 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = t98ImageFilter.GetDataForkStream(); - stream.Seek((long)(256 + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)(256 + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -360,18 +360,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/TeleDisk.cs b/DiscImageChef.DiscImages/TeleDisk.cs index 2e0ed8b2c..b18354bec 100644 --- a/DiscImageChef.DiscImages/TeleDisk.cs +++ b/DiscImageChef.DiscImages/TeleDisk.cs @@ -42,158 +42,158 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // Created following notes from Dave Dunfield // http://www.classiccmp.org/dunfield/img54306/td0notes.txt public class TeleDisk : ImagePlugin { #region Internal Structures - struct TD0Header + struct TeleDiskHeader { /// <summary>"TD" or "td" depending on compression</summary> - public ushort signature; + public ushort Signature; /// <summary>Sequence, but TeleDisk seems to complaing if != 0</summary> - public byte sequence; + public byte Sequence; /// <summary>Random, same byte for all disks in the same set</summary> - public byte diskSet; + public byte DiskSet; /// <summary>TeleDisk version, major in high nibble, minor in low nibble</summary> - public byte version; + public byte Version; /// <summary>Data rate</summary> - public byte dataRate; + public byte DataRate; /// <summary>BIOS drive type</summary> - public byte driveType; + public byte DriveType; /// <summary>Stepping used</summary> - public byte stepping; + public byte Stepping; /// <summary>If set means image only allocates sectors marked in-use by FAT12</summary> - public byte dosAllocation; + public byte DosAllocation; /// <summary>Sides of disk</summary> - public byte sides; + public byte Sides; /// <summary>CRC of all the previous</summary> - public ushort crc; + public ushort Crc; } - struct TDCommentBlockHeader + struct TeleDiskCommentBlockHeader { /// <summary>CRC of comment block after crc field</summary> - public ushort crc; + public ushort Crc; /// <summary>Length of comment</summary> - public ushort length; - public byte year; - public byte month; - public byte day; - public byte hour; - public byte minute; - public byte second; + public ushort Length; + public byte Year; + public byte Month; + public byte Day; + public byte Hour; + public byte Minute; + public byte Second; } - struct TDTrackHeader + struct TeleDiskTrackHeader { /// <summary>Sectors in the track, 0xFF if end of disk image (there is no spoon)</summary> - public byte sectors; + public byte Sectors; /// <summary>Cylinder the head was on</summary> - public byte cylinder; + public byte Cylinder; /// <summary>Head/side used</summary> - public byte head; + public byte Head; /// <summary>Lower byte of CRC of previous fields</summary> - public byte crc; + public byte Crc; } - struct TDSectorHeader + struct TeleDiskSectorHeader { /// <summary>Cylinder as stored on sector address mark</summary> - public byte cylinder; + public byte Cylinder; /// <summary>Head as stored on sector address mark</summary> - public byte head; + public byte Head; /// <summary>Sector number as stored on sector address mark</summary> - public byte sectorNumber; + public byte SectorNumber; /// <summary>Sector size</summary> - public byte sectorSize; + public byte SectorSize; /// <summary>Sector flags</summary> - public byte flags; + public byte Flags; /// <summary>Lower byte of TeleDisk CRC of sector header, data header and data block</summary> - public byte crc; + public byte Crc; } - struct TDDataHeader + struct TeleDiskDataHeader { /// <summary>Size of all data (encoded) + next field (1)</summary> - public ushort dataSize; + public ushort DataSize; /// <summary>Encoding used for data block</summary> - public byte dataEncoding; + public byte DataEncoding; } #endregion #region Internal Constants // "TD" as little endian uint. - const ushort tdMagic = 0x4454; + const ushort TD_MAGIC = 0x4454; // "td" as little endian uint. Means whole file is compressed (aka Advanced Compression) - const ushort tdAdvCompMagic = 0x6474; + const ushort TD_ADV_COMP_MAGIC = 0x6474; // DataRates - const byte DataRate250kbps = 0x00; - const byte DataRate300kbps = 0x01; - const byte DataRate500kbps = 0x02; + const byte DATA_RATE_250KBPS = 0x00; + const byte DATA_RATE_300KBPS = 0x01; + const byte DATA_RATE_500KBPS = 0x02; // TeleDisk drive types - const byte DriveType525HD_DDDisk = 0x00; - const byte DriveType525HD = 0x01; - const byte DriveType525DD = 0x02; - const byte DriveType35DD = 0x03; - const byte DriveType35HD = 0x04; - const byte DriveType8inch = 0x05; - const byte DriveType35ED = 0x06; + const byte DRIVE_TYPE_525_HD_DD_DISK = 0x00; + const byte DRIVE_TYPE_525_HD = 0x01; + const byte DRIVE_TYPE_525_DD = 0x02; + const byte DRIVE_TYPE_35_DD = 0x03; + const byte DRIVE_TYPE_35_HD = 0x04; + const byte DRIVE_TYPE_8_INCH = 0x05; + const byte DRIVE_TYPE_35_ED = 0x06; // Stepping - const byte SteppingSingle = 0x00; - const byte SteppingDouble = 0x01; - const byte SteppingEvenOnly = 0x02; + const byte STEPPING_SINGLE = 0x00; + const byte STEPPING_DOUBLE = 0x01; + const byte STEPPING_EVEN_ONLY = 0x02; // If this bit is set, there is a comment block - const byte CommentBlockPresent = 0x80; + const byte COMMENT_BLOCK_PRESENT = 0x80; // CRC polynomial - const ushort TeleDiskCRCPoly = 0xA097; + const ushort TELE_DISK_CRC_POLY = 0xA097; // Sector sizes table - const byte SectorSize128 = 0x00; - const byte SectorSize256 = 0x01; - const byte SectorSize512 = 0x02; - const byte SectorSize1K = 0x03; - const byte SectorSize2K = 0x04; - const byte SectorSize4K = 0x05; - const byte SectorSize8K = 0x06; + const byte SECTOR_SIZE_128 = 0x00; + const byte SECTOR_SIZE_256 = 0x01; + const byte SECTOR_SIZE_512 = 0x02; + const byte SECTOR_SIZE_1K = 0x03; + const byte SECTOR_SIZE_2K = 0x04; + const byte SECTOR_SIZE_4K = 0x05; + const byte SECTOR_SIZE_8K = 0x06; // Flags // Address mark repeats inside same track - const byte FlagsSectorDuplicate = 0x01; + const byte FLAGS_SECTOR_DUPLICATE = 0x01; // Sector gave CRC error on reading - const byte FlagsSectorCRCError = 0x02; + const byte FLAGS_SECTOR_CRC_ERROR = 0x02; // Address mark indicates deleted sector - const byte FlagsSectorDeleted = 0x04; + const byte FLAGS_SECTOR_DELETED = 0x04; // Sector skipped as FAT said it's unused - const byte FlagsSectorSkipped = 0x10; + const byte FLAGS_SECTOR_SKIPPED = 0x10; // There was an address mark, but no data following - const byte FlagsSectorDataless = 0x20; + const byte FLAGS_SECTOR_DATALESS = 0x20; // There was data without address mark - const byte FlagsSectorNoID = 0x40; + const byte FLAGS_SECTOR_NO_ID = 0x40; // Data block encodings // Data is copied as is - const byte dataBlockCopy = 0x00; + const byte DATA_BLOCK_COPY = 0x00; // Data is encoded as a pair of len.value uint16s - const byte dataBlockPattern = 0x01; + const byte DATA_BLOCK_PATTERN = 0x01; // Data is encoded as RLE - const byte dataBlockRLE = 0x02; + const byte DATA_BLOCK_RLE = 0x02; #endregion #region Internal variables - TD0Header header; - TDCommentBlockHeader commentHeader; + TeleDiskHeader header; + TeleDiskCommentBlockHeader commentHeader; byte[] commentBlock; // LBA, data uint totalDiskSize; - bool ADiskCRCHasFailed; - List<ulong> SectorsWhereCRCHasFailed; + bool aDiskCrcHasFailed; + List<ulong> sectorsWhereCrcHasFailed; // Cylinder by head, sector data matrix byte[][][][] sectorsData; Stream inStream; @@ -203,91 +203,91 @@ namespace DiscImageChef.ImagePlugins public TeleDisk() { Name = "Sydex TeleDisk"; - PluginUUID = new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); + PluginUuid = new Guid("0240B7B1-E959-4CDC-B0BD-386D6E467B88"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageApplication = "Sydex TeleDisk"; - ImageInfo.imageComments = null; - ImageInfo.imageCreator = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; - ADiskCRCHasFailed = false; - SectorsWhereCRCHasFailed = new List<ulong>(); + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageApplication = "Sydex TeleDisk"; + ImageInfo.ImageComments = null; + ImageInfo.ImageCreator = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; + aDiskCrcHasFailed = false; + sectorsWhereCrcHasFailed = new List<ulong>(); } public override bool IdentifyImage(Filter imageFilter) { - header = new TD0Header(); + header = new TeleDiskHeader(); byte[] headerBytes = new byte[12]; Stream stream = imageFilter.GetDataForkStream(); stream.Seek(0, SeekOrigin.Begin); stream.Read(headerBytes, 0, 12); - header.signature = BitConverter.ToUInt16(headerBytes, 0); + header.Signature = BitConverter.ToUInt16(headerBytes, 0); - if(header.signature != tdMagic && header.signature != tdAdvCompMagic) return false; + if(header.Signature != TD_MAGIC && header.Signature != TD_ADV_COMP_MAGIC) return false; - header.sequence = headerBytes[2]; - header.diskSet = headerBytes[3]; - header.version = headerBytes[4]; - header.dataRate = headerBytes[5]; - header.driveType = headerBytes[6]; - header.stepping = headerBytes[7]; - header.dosAllocation = headerBytes[8]; - header.sides = headerBytes[9]; - header.crc = BitConverter.ToUInt16(headerBytes, 10); + header.Sequence = headerBytes[2]; + header.DiskSet = headerBytes[3]; + header.Version = headerBytes[4]; + header.DataRate = headerBytes[5]; + header.DriveType = headerBytes[6]; + header.Stepping = headerBytes[7]; + header.DosAllocation = headerBytes[8]; + header.Sides = headerBytes[9]; + header.Crc = BitConverter.ToUInt16(headerBytes, 10); - byte[] headerBytesForCRC = new byte[10]; - Array.Copy(headerBytes, headerBytesForCRC, 10); - ushort calculatedHeaderCRC = TeleDiskCRC(0x0000, headerBytesForCRC); + byte[] headerBytesForCrc = new byte[10]; + Array.Copy(headerBytes, headerBytesForCrc, 10); + ushort calculatedHeaderCrc = TeleDiskCrc(0x0000, headerBytesForCrc); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.signature = 0x{0:X4}", header.signature); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.sequence = 0x{0:X2}", header.sequence); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.diskSet = 0x{0:X2}", header.diskSet); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.version = 0x{0:X2}", header.version); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.dataRate = 0x{0:X2}", header.dataRate); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.driveType = 0x{0:X2}", header.driveType); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.stepping = 0x{0:X2}", header.stepping); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.dosAllocation = 0x{0:X2}", header.dosAllocation); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.sides = 0x{0:X2}", header.sides); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.crc = 0x{0:X4}", header.crc); - DicConsole.DebugWriteLine("TeleDisk plugin", "calculated header crc = 0x{0:X4}", calculatedHeaderCRC); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.signature = 0x{0:X4}", header.Signature); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.sequence = 0x{0:X2}", header.Sequence); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.diskSet = 0x{0:X2}", header.DiskSet); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.version = 0x{0:X2}", header.Version); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.dataRate = 0x{0:X2}", header.DataRate); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.driveType = 0x{0:X2}", header.DriveType); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.stepping = 0x{0:X2}", header.Stepping); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.dosAllocation = 0x{0:X2}", header.DosAllocation); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.sides = 0x{0:X2}", header.Sides); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.crc = 0x{0:X4}", header.Crc); + DicConsole.DebugWriteLine("TeleDisk plugin", "calculated header crc = 0x{0:X4}", calculatedHeaderCrc); // We need more checks as the magic is too simply. // This may deny legal images // That would be much of a coincidence - if(header.crc == calculatedHeaderCRC) return true; + if(header.Crc == calculatedHeaderCrc) return true; - if(header.sequence != 0x00) return false; + if(header.Sequence != 0x00) return false; - if(header.dataRate != DataRate250kbps && header.dataRate != DataRate300kbps && - header.dataRate != DataRate500kbps) return false; + if(header.DataRate != DATA_RATE_250KBPS && header.DataRate != DATA_RATE_300KBPS && + header.DataRate != DATA_RATE_500KBPS) return false; - if(header.driveType != DriveType35DD && header.driveType != DriveType35ED && - header.driveType != DriveType35HD && header.driveType != DriveType525DD && - header.driveType != DriveType525HD && header.driveType != DriveType525HD_DDDisk && - header.driveType != DriveType8inch) return false; + if(header.DriveType != DRIVE_TYPE_35_DD && header.DriveType != DRIVE_TYPE_35_ED && + header.DriveType != DRIVE_TYPE_35_HD && header.DriveType != DRIVE_TYPE_525_DD && + header.DriveType != DRIVE_TYPE_525_HD && header.DriveType != DRIVE_TYPE_525_HD_DD_DISK && + header.DriveType != DRIVE_TYPE_8_INCH) return false; return true; } public override bool OpenImage(Filter imageFilter) { - header = new TD0Header(); + header = new TeleDiskHeader(); byte[] headerBytes = new byte[12]; inStream = imageFilter.GetDataForkStream(); MemoryStream stream = new MemoryStream(); @@ -296,61 +296,61 @@ namespace DiscImageChef.ImagePlugins inStream.Read(headerBytes, 0, 12); stream.Write(headerBytes, 0, 12); - header.signature = BitConverter.ToUInt16(headerBytes, 0); + header.Signature = BitConverter.ToUInt16(headerBytes, 0); - if(header.signature != tdMagic && header.signature != tdAdvCompMagic) return false; + if(header.Signature != TD_MAGIC && header.Signature != TD_ADV_COMP_MAGIC) return false; - header.sequence = headerBytes[2]; - header.diskSet = headerBytes[3]; - header.version = headerBytes[4]; - header.dataRate = headerBytes[5]; - header.driveType = headerBytes[6]; - header.stepping = headerBytes[7]; - header.dosAllocation = headerBytes[8]; - header.sides = headerBytes[9]; - header.crc = BitConverter.ToUInt16(headerBytes, 10); + header.Sequence = headerBytes[2]; + header.DiskSet = headerBytes[3]; + header.Version = headerBytes[4]; + header.DataRate = headerBytes[5]; + header.DriveType = headerBytes[6]; + header.Stepping = headerBytes[7]; + header.DosAllocation = headerBytes[8]; + header.Sides = headerBytes[9]; + header.Crc = BitConverter.ToUInt16(headerBytes, 10); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.imageVersion = string.Format("{0}.{1}", (header.version & 0xF0) >> 4, header.version & 0x0F); - ImageInfo.imageApplication = ImageInfo.imageVersion; + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.ImageVersion = string.Format("{0}.{1}", (header.Version & 0xF0) >> 4, header.Version & 0x0F); + ImageInfo.ImageApplication = ImageInfo.ImageVersion; - byte[] headerBytesForCRC = new byte[10]; - Array.Copy(headerBytes, headerBytesForCRC, 10); - ushort calculatedHeaderCRC = TeleDiskCRC(0x0000, headerBytesForCRC); + byte[] headerBytesForCrc = new byte[10]; + Array.Copy(headerBytes, headerBytesForCrc, 10); + ushort calculatedHeaderCrc = TeleDiskCrc(0x0000, headerBytesForCrc); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.signature = 0x{0:X4}", header.signature); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.sequence = 0x{0:X2}", header.sequence); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.diskSet = 0x{0:X2}", header.diskSet); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.version = 0x{0:X2}", header.version); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.dataRate = 0x{0:X2}", header.dataRate); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.driveType = 0x{0:X2}", header.driveType); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.stepping = 0x{0:X2}", header.stepping); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.dosAllocation = 0x{0:X2}", header.dosAllocation); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.sides = 0x{0:X2}", header.sides); - DicConsole.DebugWriteLine("TeleDisk plugin", "header.crc = 0x{0:X4}", header.crc); - DicConsole.DebugWriteLine("TeleDisk plugin", "calculated header crc = 0x{0:X4}", calculatedHeaderCRC); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.signature = 0x{0:X4}", header.Signature); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.sequence = 0x{0:X2}", header.Sequence); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.diskSet = 0x{0:X2}", header.DiskSet); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.version = 0x{0:X2}", header.Version); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.dataRate = 0x{0:X2}", header.DataRate); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.driveType = 0x{0:X2}", header.DriveType); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.stepping = 0x{0:X2}", header.Stepping); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.dosAllocation = 0x{0:X2}", header.DosAllocation); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.sides = 0x{0:X2}", header.Sides); + DicConsole.DebugWriteLine("TeleDisk plugin", "header.crc = 0x{0:X4}", header.Crc); + DicConsole.DebugWriteLine("TeleDisk plugin", "calculated header crc = 0x{0:X4}", calculatedHeaderCrc); // We need more checks as the magic is too simply. // This may deny legal images // That would be much of a coincidence - if(header.crc != calculatedHeaderCRC) + if(header.Crc != calculatedHeaderCrc) { - ADiskCRCHasFailed = true; + aDiskCrcHasFailed = true; DicConsole.DebugWriteLine("TeleDisk plugin", "Calculated CRC does not coincide with stored one."); } - if(header.sequence != 0x00) return false; + if(header.Sequence != 0x00) return false; - if(header.dataRate != DataRate250kbps && header.dataRate != DataRate300kbps && - header.dataRate != DataRate500kbps) return false; + if(header.DataRate != DATA_RATE_250KBPS && header.DataRate != DATA_RATE_300KBPS && + header.DataRate != DATA_RATE_500KBPS) return false; - if(header.driveType != DriveType35DD && header.driveType != DriveType35ED && - header.driveType != DriveType35HD && header.driveType != DriveType525DD && - header.driveType != DriveType525HD && header.driveType != DriveType525HD_DDDisk && - header.driveType != DriveType8inch) return false; + if(header.DriveType != DRIVE_TYPE_35_DD && header.DriveType != DRIVE_TYPE_35_ED && + header.DriveType != DRIVE_TYPE_35_HD && header.DriveType != DRIVE_TYPE_525_DD && + header.DriveType != DRIVE_TYPE_525_HD && header.DriveType != DRIVE_TYPE_525_HD_DD_DISK && + header.DriveType != DRIVE_TYPE_8_INCH) return false; - if(header.signature == tdAdvCompMagic) + if(header.Signature == TD_ADV_COMP_MAGIC) { int rd; byte[] obuf = new byte[BUFSZ]; @@ -373,47 +373,47 @@ namespace DiscImageChef.ImagePlugins stream.Seek(12, SeekOrigin.Begin); - ImageInfo.imageCreationTime = DateTime.MinValue; + ImageInfo.ImageCreationTime = DateTime.MinValue; - if((header.stepping & CommentBlockPresent) == CommentBlockPresent) + if((header.Stepping & COMMENT_BLOCK_PRESENT) == COMMENT_BLOCK_PRESENT) { - commentHeader = new TDCommentBlockHeader(); + commentHeader = new TeleDiskCommentBlockHeader(); byte[] commentHeaderBytes = new byte[10]; - byte[] commentBlockForCRC; + byte[] commentBlockForCrc; stream.Read(commentHeaderBytes, 0, 10); - commentHeader.crc = BitConverter.ToUInt16(commentHeaderBytes, 0); - commentHeader.length = BitConverter.ToUInt16(commentHeaderBytes, 2); - commentHeader.year = commentHeaderBytes[4]; - commentHeader.month = commentHeaderBytes[5]; - commentHeader.day = commentHeaderBytes[6]; - commentHeader.hour = commentHeaderBytes[7]; - commentHeader.minute = commentHeaderBytes[8]; - commentHeader.second = commentHeaderBytes[9]; + commentHeader.Crc = BitConverter.ToUInt16(commentHeaderBytes, 0); + commentHeader.Length = BitConverter.ToUInt16(commentHeaderBytes, 2); + commentHeader.Year = commentHeaderBytes[4]; + commentHeader.Month = commentHeaderBytes[5]; + commentHeader.Day = commentHeaderBytes[6]; + commentHeader.Hour = commentHeaderBytes[7]; + commentHeader.Minute = commentHeaderBytes[8]; + commentHeader.Second = commentHeaderBytes[9]; - commentBlock = new byte[commentHeader.length]; - stream.Read(commentBlock, 0, commentHeader.length); + commentBlock = new byte[commentHeader.Length]; + stream.Read(commentBlock, 0, commentHeader.Length); - commentBlockForCRC = new byte[commentHeader.length + 8]; - Array.Copy(commentHeaderBytes, 2, commentBlockForCRC, 0, 8); - Array.Copy(commentBlock, 0, commentBlockForCRC, 8, commentHeader.length); + commentBlockForCrc = new byte[commentHeader.Length + 8]; + Array.Copy(commentHeaderBytes, 2, commentBlockForCrc, 0, 8); + Array.Copy(commentBlock, 0, commentBlockForCrc, 8, commentHeader.Length); - ushort cmtcrc = TeleDiskCRC(0, commentBlockForCRC); + ushort cmtcrc = TeleDiskCrc(0, commentBlockForCrc); DicConsole.DebugWriteLine("TeleDisk plugin", "Comment header"); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.crc = 0x{0:X4}", commentHeader.crc); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.crc = 0x{0:X4}", commentHeader.Crc); DicConsole.DebugWriteLine("TeleDisk plugin", "\tCalculated CRC = 0x{0:X4}", cmtcrc); DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.length = {0} bytes", - commentHeader.length); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.year = {0}", commentHeader.year); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.month = {0}", commentHeader.month); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.day = {0}", commentHeader.day); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.hour = {0}", commentHeader.hour); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.minute = {0}", commentHeader.minute); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.second = {0}", commentHeader.second); + commentHeader.Length); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.year = {0}", commentHeader.Year); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.month = {0}", commentHeader.Month); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.day = {0}", commentHeader.Day); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.hour = {0}", commentHeader.Hour); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.minute = {0}", commentHeader.Minute); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tcommentheader.second = {0}", commentHeader.Second); - ADiskCRCHasFailed |= cmtcrc != commentHeader.crc; + aDiskCrcHasFailed |= cmtcrc != commentHeader.Crc; for(int i = 0; i < commentBlock.Length; i++) { @@ -421,81 +421,81 @@ namespace DiscImageChef.ImagePlugins if(commentBlock[i] == 0x00) commentBlock[i] = 0x0A; } - ImageInfo.imageComments = System.Text.Encoding.ASCII.GetString(commentBlock); + ImageInfo.ImageComments = System.Text.Encoding.ASCII.GetString(commentBlock); DicConsole.DebugWriteLine("TeleDisk plugin", "Comment"); - DicConsole.DebugWriteLine("TeleDisk plugin", "{0}", ImageInfo.imageComments); + DicConsole.DebugWriteLine("TeleDisk plugin", "{0}", ImageInfo.ImageComments); - ImageInfo.imageCreationTime = new DateTime(commentHeader.year + 1900, commentHeader.month + 1, - commentHeader.day, commentHeader.hour, commentHeader.minute, - commentHeader.second, DateTimeKind.Unspecified); + ImageInfo.ImageCreationTime = new DateTime(commentHeader.Year + 1900, commentHeader.Month + 1, + commentHeader.Day, commentHeader.Hour, commentHeader.Minute, + commentHeader.Second, DateTimeKind.Unspecified); } - if(ImageInfo.imageCreationTime == DateTime.MinValue) - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); + if(ImageInfo.ImageCreationTime == DateTime.MinValue) + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); - DicConsole.DebugWriteLine("TeleDisk plugin", "Image created on {0}", ImageInfo.imageCreationTime); - DicConsole.DebugWriteLine("TeleDisk plugin", "Image modified on {0}", ImageInfo.imageLastModificationTime); + DicConsole.DebugWriteLine("TeleDisk plugin", "Image created on {0}", ImageInfo.ImageCreationTime); + DicConsole.DebugWriteLine("TeleDisk plugin", "Image modified on {0}", ImageInfo.ImageLastModificationTime); DicConsole.DebugWriteLine("TeleDisk plugin", "Parsing image"); totalDiskSize = 0; - ImageInfo.imageSize = 0; + ImageInfo.ImageSize = 0; int totalCylinders = -1; int totalHeads = -1; int maxSector = -1; int totalSectors = 0; long currentPos = stream.Position; - ImageInfo.sectorSize = uint.MaxValue; - ImageInfo.sectorsPerTrack = uint.MaxValue; + ImageInfo.SectorSize = uint.MaxValue; + ImageInfo.SectorsPerTrack = uint.MaxValue; // Count cylinders while(true) { - TDTrackHeader TDTrack = new TDTrackHeader(); + TeleDiskTrackHeader teleDiskTrack = new TeleDiskTrackHeader(); - TDTrack.sectors = (byte)stream.ReadByte(); - TDTrack.cylinder = (byte)stream.ReadByte(); - TDTrack.head = (byte)stream.ReadByte(); - TDTrack.crc = (byte)stream.ReadByte(); + teleDiskTrack.Sectors = (byte)stream.ReadByte(); + teleDiskTrack.Cylinder = (byte)stream.ReadByte(); + teleDiskTrack.Head = (byte)stream.ReadByte(); + teleDiskTrack.Crc = (byte)stream.ReadByte(); - if(TDTrack.cylinder > totalCylinders) totalCylinders = TDTrack.cylinder; - if(TDTrack.head > totalHeads) totalHeads = TDTrack.head; + if(teleDiskTrack.Cylinder > totalCylinders) totalCylinders = teleDiskTrack.Cylinder; + if(teleDiskTrack.Head > totalHeads) totalHeads = teleDiskTrack.Head; - if(TDTrack.sectors == 0xFF) // End of disk image + if(teleDiskTrack.Sectors == 0xFF) // End of disk image break; - for(byte processedSectors = 0; processedSectors < TDTrack.sectors; processedSectors++) + for(byte processedSectors = 0; processedSectors < teleDiskTrack.Sectors; processedSectors++) { - TDSectorHeader TDSector = new TDSectorHeader(); - TDDataHeader TDData = new TDDataHeader(); + TeleDiskSectorHeader teleDiskSector = new TeleDiskSectorHeader(); + TeleDiskDataHeader teleDiskData = new TeleDiskDataHeader(); byte[] dataSizeBytes = new byte[2]; byte[] data; - TDSector.cylinder = (byte)stream.ReadByte(); - TDSector.head = (byte)stream.ReadByte(); - TDSector.sectorNumber = (byte)stream.ReadByte(); - TDSector.sectorSize = (byte)stream.ReadByte(); - TDSector.flags = (byte)stream.ReadByte(); - TDSector.crc = (byte)stream.ReadByte(); + teleDiskSector.Cylinder = (byte)stream.ReadByte(); + teleDiskSector.Head = (byte)stream.ReadByte(); + teleDiskSector.SectorNumber = (byte)stream.ReadByte(); + teleDiskSector.SectorSize = (byte)stream.ReadByte(); + teleDiskSector.Flags = (byte)stream.ReadByte(); + teleDiskSector.Crc = (byte)stream.ReadByte(); - if(TDSector.sectorNumber > maxSector) maxSector = TDSector.sectorNumber; + if(teleDiskSector.SectorNumber > maxSector) maxSector = teleDiskSector.SectorNumber; - if((TDSector.flags & FlagsSectorDataless) != FlagsSectorDataless && - (TDSector.flags & FlagsSectorSkipped) != FlagsSectorSkipped) + if((teleDiskSector.Flags & FLAGS_SECTOR_DATALESS) != FLAGS_SECTOR_DATALESS && + (teleDiskSector.Flags & FLAGS_SECTOR_SKIPPED) != FLAGS_SECTOR_SKIPPED) { stream.Read(dataSizeBytes, 0, 2); - TDData.dataSize = BitConverter.ToUInt16(dataSizeBytes, 0); - TDData.dataSize--; // Sydex decided to including dataEncoding byte as part of it - TDData.dataEncoding = (byte)stream.ReadByte(); - data = new byte[TDData.dataSize]; - stream.Read(data, 0, TDData.dataSize); + teleDiskData.DataSize = BitConverter.ToUInt16(dataSizeBytes, 0); + teleDiskData.DataSize--; // Sydex decided to including dataEncoding byte as part of it + teleDiskData.DataEncoding = (byte)stream.ReadByte(); + data = new byte[teleDiskData.DataSize]; + stream.Read(data, 0, teleDiskData.DataSize); } - if(128 << TDSector.sectorSize < ImageInfo.sectorSize) - ImageInfo.sectorSize = (uint)(128 << TDSector.sectorSize); + if(128 << teleDiskSector.SectorSize < ImageInfo.SectorSize) + ImageInfo.SectorSize = (uint)(128 << teleDiskSector.SectorSize); totalSectors++; } @@ -509,56 +509,56 @@ namespace DiscImageChef.ImagePlugins bool hasLeadOutOnHead0 = false; bool hasLeadOutOnHead1 = false; - ImageInfo.cylinders = (ushort)totalCylinders; - ImageInfo.heads = (byte)totalHeads; + ImageInfo.Cylinders = (ushort)totalCylinders; + ImageInfo.Heads = (byte)totalHeads; // Count sectors per track stream.Seek(currentPos, SeekOrigin.Begin); while(true) { - TDTrackHeader TDTrack = new TDTrackHeader(); + TeleDiskTrackHeader teleDiskTrack = new TeleDiskTrackHeader(); - TDTrack.sectors = (byte)stream.ReadByte(); - TDTrack.cylinder = (byte)stream.ReadByte(); - TDTrack.head = (byte)stream.ReadByte(); - TDTrack.crc = (byte)stream.ReadByte(); + teleDiskTrack.Sectors = (byte)stream.ReadByte(); + teleDiskTrack.Cylinder = (byte)stream.ReadByte(); + teleDiskTrack.Head = (byte)stream.ReadByte(); + teleDiskTrack.Crc = (byte)stream.ReadByte(); - if(TDTrack.sectors == 0xFF) // End of disk image + if(teleDiskTrack.Sectors == 0xFF) // End of disk image break; - if(TDTrack.sectors < ImageInfo.sectorsPerTrack) + if(teleDiskTrack.Sectors < ImageInfo.SectorsPerTrack) { - if(TDTrack.cylinder + 1 == totalCylinders) + if(teleDiskTrack.Cylinder + 1 == totalCylinders) { - hasLeadOutOnHead0 |= TDTrack.head == 0; - hasLeadOutOnHead1 |= TDTrack.head == 1; - if(ImageInfo.cylinders == totalCylinders) ImageInfo.cylinders--; + hasLeadOutOnHead0 |= teleDiskTrack.Head == 0; + hasLeadOutOnHead1 |= teleDiskTrack.Head == 1; + if(ImageInfo.Cylinders == totalCylinders) ImageInfo.Cylinders--; } - else ImageInfo.sectorsPerTrack = TDTrack.sectors; + else ImageInfo.SectorsPerTrack = teleDiskTrack.Sectors; } - for(byte processedSectors = 0; processedSectors < TDTrack.sectors; processedSectors++) + for(byte processedSectors = 0; processedSectors < teleDiskTrack.Sectors; processedSectors++) { - TDSectorHeader TDSector = new TDSectorHeader(); - TDDataHeader TDData = new TDDataHeader(); + TeleDiskSectorHeader teleDiskSector = new TeleDiskSectorHeader(); + TeleDiskDataHeader teleDiskData = new TeleDiskDataHeader(); byte[] dataSizeBytes = new byte[2]; byte[] data; - TDSector.cylinder = (byte)stream.ReadByte(); - TDSector.head = (byte)stream.ReadByte(); - TDSector.sectorNumber = (byte)stream.ReadByte(); - TDSector.sectorSize = (byte)stream.ReadByte(); - TDSector.flags = (byte)stream.ReadByte(); - TDSector.crc = (byte)stream.ReadByte(); + teleDiskSector.Cylinder = (byte)stream.ReadByte(); + teleDiskSector.Head = (byte)stream.ReadByte(); + teleDiskSector.SectorNumber = (byte)stream.ReadByte(); + teleDiskSector.SectorSize = (byte)stream.ReadByte(); + teleDiskSector.Flags = (byte)stream.ReadByte(); + teleDiskSector.Crc = (byte)stream.ReadByte(); - if((TDSector.flags & FlagsSectorDataless) != FlagsSectorDataless && - (TDSector.flags & FlagsSectorSkipped) != FlagsSectorSkipped) + if((teleDiskSector.Flags & FLAGS_SECTOR_DATALESS) != FLAGS_SECTOR_DATALESS && + (teleDiskSector.Flags & FLAGS_SECTOR_SKIPPED) != FLAGS_SECTOR_SKIPPED) { stream.Read(dataSizeBytes, 0, 2); - TDData.dataSize = BitConverter.ToUInt16(dataSizeBytes, 0); - TDData.dataSize--; // Sydex decided to including dataEncoding byte as part of it - TDData.dataEncoding = (byte)stream.ReadByte(); - data = new byte[TDData.dataSize]; - stream.Read(data, 0, TDData.dataSize); + teleDiskData.DataSize = BitConverter.ToUInt16(dataSizeBytes, 0); + teleDiskData.DataSize--; // Sydex decided to including dataEncoding byte as part of it + teleDiskData.DataEncoding = (byte)stream.ReadByte(); + data = new byte[teleDiskData.DataSize]; + stream.Read(data, 0, teleDiskData.DataSize); } } } @@ -584,31 +584,31 @@ namespace DiscImageChef.ImagePlugins stream.Seek(currentPos, SeekOrigin.Begin); while(true) { - TDTrackHeader TDTrack = new TDTrackHeader(); - byte[] TDTrackForCRC = new byte[3]; - byte TDTrackCalculatedCRC; + TeleDiskTrackHeader teleDiskTrack = new TeleDiskTrackHeader(); + byte[] tdTrackForCrc = new byte[3]; + byte tdTrackCalculatedCrc; - TDTrack.sectors = (byte)stream.ReadByte(); - TDTrack.cylinder = (byte)stream.ReadByte(); - TDTrack.head = (byte)stream.ReadByte(); - TDTrack.crc = (byte)stream.ReadByte(); + teleDiskTrack.Sectors = (byte)stream.ReadByte(); + teleDiskTrack.Cylinder = (byte)stream.ReadByte(); + teleDiskTrack.Head = (byte)stream.ReadByte(); + teleDiskTrack.Crc = (byte)stream.ReadByte(); - TDTrackForCRC[0] = TDTrack.sectors; - TDTrackForCRC[1] = TDTrack.cylinder; - TDTrackForCRC[2] = TDTrack.head; + tdTrackForCrc[0] = teleDiskTrack.Sectors; + tdTrackForCrc[1] = teleDiskTrack.Cylinder; + tdTrackForCrc[2] = teleDiskTrack.Head; - TDTrackCalculatedCRC = (byte)(TeleDiskCRC(0, TDTrackForCRC) & 0xFF); + tdTrackCalculatedCrc = (byte)(TeleDiskCrc(0, tdTrackForCrc) & 0xFF); DicConsole.DebugWriteLine("TeleDisk plugin", "Track follows"); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tTrack cylinder: {0}\t", TDTrack.cylinder); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tTrack head: {0}\t", TDTrack.head); - DicConsole.DebugWriteLine("TeleDisk plugin", "\tSectors in track: {0}\t", TDTrack.sectors); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tTrack cylinder: {0}\t", teleDiskTrack.Cylinder); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tTrack head: {0}\t", teleDiskTrack.Head); + DicConsole.DebugWriteLine("TeleDisk plugin", "\tSectors in track: {0}\t", teleDiskTrack.Sectors); DicConsole.DebugWriteLine("TeleDisk plugin", "\tTrack header CRC: 0x{0:X2} (calculated 0x{1:X2})\t", - TDTrack.crc, TDTrackCalculatedCRC); + teleDiskTrack.Crc, tdTrackCalculatedCrc); - ADiskCRCHasFailed |= TDTrackCalculatedCRC != TDTrack.crc; + aDiskCrcHasFailed |= tdTrackCalculatedCrc != teleDiskTrack.Crc; - if(TDTrack.sectors == 0xFF) // End of disk image + if(teleDiskTrack.Sectors == 0xFF) // End of disk image { DicConsole.DebugWriteLine("TeleDisk plugin", "End of disk image arrived"); DicConsole.DebugWriteLine("TeleDisk plugin", "Total of {0} data sectors, for {1} bytes", @@ -617,84 +617,84 @@ namespace DiscImageChef.ImagePlugins break; } - for(byte processedSectors = 0; processedSectors < TDTrack.sectors; processedSectors++) + for(byte processedSectors = 0; processedSectors < teleDiskTrack.Sectors; processedSectors++) { - TDSectorHeader TDSector = new TDSectorHeader(); - TDDataHeader TDData = new TDDataHeader(); + TeleDiskSectorHeader teleDiskSector = new TeleDiskSectorHeader(); + TeleDiskDataHeader teleDiskData = new TeleDiskDataHeader(); byte[] dataSizeBytes = new byte[2]; byte[] data; byte[] decodedData; - TDSector.cylinder = (byte)stream.ReadByte(); - TDSector.head = (byte)stream.ReadByte(); - TDSector.sectorNumber = (byte)stream.ReadByte(); - TDSector.sectorSize = (byte)stream.ReadByte(); - TDSector.flags = (byte)stream.ReadByte(); - TDSector.crc = (byte)stream.ReadByte(); + teleDiskSector.Cylinder = (byte)stream.ReadByte(); + teleDiskSector.Head = (byte)stream.ReadByte(); + teleDiskSector.SectorNumber = (byte)stream.ReadByte(); + teleDiskSector.SectorSize = (byte)stream.ReadByte(); + teleDiskSector.Flags = (byte)stream.ReadByte(); + teleDiskSector.Crc = (byte)stream.ReadByte(); DicConsole.DebugWriteLine("TeleDisk plugin", "\tSector follows"); - DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tAddressMark cylinder: {0}", TDSector.cylinder); - DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tAddressMark head: {0}", TDSector.head); + DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tAddressMark cylinder: {0}", teleDiskSector.Cylinder); + DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tAddressMark head: {0}", teleDiskSector.Head); DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tAddressMark sector number: {0}", - TDSector.sectorNumber); - DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector size: {0}", TDSector.sectorSize); - DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector flags: 0x{0:X2}", TDSector.flags); + teleDiskSector.SectorNumber); + DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector size: {0}", teleDiskSector.SectorSize); + DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector flags: 0x{0:X2}", teleDiskSector.Flags); DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector CRC (plus headers): 0x{0:X2}", - TDSector.crc); + teleDiskSector.Crc); - uint LBA = (uint)((TDSector.cylinder * header.sides * ImageInfo.sectorsPerTrack) + - (TDSector.head * ImageInfo.sectorsPerTrack) + (TDSector.sectorNumber - 1)); - if((TDSector.flags & FlagsSectorDataless) != FlagsSectorDataless && - (TDSector.flags & FlagsSectorSkipped) != FlagsSectorSkipped) + uint lba = (uint)((teleDiskSector.Cylinder * header.Sides * ImageInfo.SectorsPerTrack) + + (teleDiskSector.Head * ImageInfo.SectorsPerTrack) + (teleDiskSector.SectorNumber - 1)); + if((teleDiskSector.Flags & FLAGS_SECTOR_DATALESS) != FLAGS_SECTOR_DATALESS && + (teleDiskSector.Flags & FLAGS_SECTOR_SKIPPED) != FLAGS_SECTOR_SKIPPED) { stream.Read(dataSizeBytes, 0, 2); - TDData.dataSize = BitConverter.ToUInt16(dataSizeBytes, 0); - TDData.dataSize--; // Sydex decided to including dataEncoding byte as part of it - ImageInfo.imageSize += TDData.dataSize; - TDData.dataEncoding = (byte)stream.ReadByte(); - data = new byte[TDData.dataSize]; - stream.Read(data, 0, TDData.dataSize); - DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tData size (in-image): {0}", TDData.dataSize); + teleDiskData.DataSize = BitConverter.ToUInt16(dataSizeBytes, 0); + teleDiskData.DataSize--; // Sydex decided to including dataEncoding byte as part of it + ImageInfo.ImageSize += teleDiskData.DataSize; + teleDiskData.DataEncoding = (byte)stream.ReadByte(); + data = new byte[teleDiskData.DataSize]; + stream.Read(data, 0, teleDiskData.DataSize); + DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tData size (in-image): {0}", teleDiskData.DataSize); DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tData encoding: 0x{0:X2}", - TDData.dataEncoding); + teleDiskData.DataEncoding); - decodedData = DecodeTeleDiskData(TDSector.sectorSize, TDData.dataEncoding, data); + decodedData = DecodeTeleDiskData(teleDiskSector.SectorSize, teleDiskData.DataEncoding, data); - byte TDSectorCalculatedCRC = (byte)(TeleDiskCRC(0, decodedData) & 0xFF); + byte tdSectorCalculatedCrc = (byte)(TeleDiskCrc(0, decodedData) & 0xFF); - if(TDSectorCalculatedCRC != TDSector.crc) + if(tdSectorCalculatedCrc != teleDiskSector.Crc) { DicConsole.DebugWriteLine("TeleDisk plugin", "Sector {0}:{3}:{4} calculated CRC 0x{1:X2} differs from stored CRC 0x{2:X2}", - TDTrack.cylinder, TDSectorCalculatedCRC, TDSector.crc, - TDTrack.cylinder, TDSector.sectorNumber); - if((TDSector.flags & FlagsSectorNoID) != FlagsSectorNoID) SectorsWhereCRCHasFailed.Add(LBA); + teleDiskTrack.Cylinder, tdSectorCalculatedCrc, teleDiskSector.Crc, + teleDiskTrack.Cylinder, teleDiskSector.SectorNumber); + if((teleDiskSector.Flags & FLAGS_SECTOR_NO_ID) != FLAGS_SECTOR_NO_ID) sectorsWhereCrcHasFailed.Add(lba); } } - else decodedData = new byte[128 << TDSector.sectorSize]; + else decodedData = new byte[128 << teleDiskSector.SectorSize]; - DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tLBA: {0}", LBA); + DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tLBA: {0}", lba); - if((TDSector.flags & FlagsSectorNoID) != FlagsSectorNoID) + if((teleDiskSector.Flags & FLAGS_SECTOR_NO_ID) != FLAGS_SECTOR_NO_ID) { - if(sectorsData[TDTrack.cylinder][TDTrack.head][TDSector.sectorNumber] != null) + if(sectorsData[teleDiskTrack.Cylinder][teleDiskTrack.Head][teleDiskSector.SectorNumber] != null) { - if((TDSector.flags & FlagsSectorDuplicate) == FlagsSectorDuplicate) + if((teleDiskSector.Flags & FLAGS_SECTOR_DUPLICATE) == FLAGS_SECTOR_DUPLICATE) { DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector {0} on cylinder {1} head {2} is duplicate, and marked so", - TDSector.sectorNumber, TDSector.cylinder, TDSector.head); + teleDiskSector.SectorNumber, teleDiskSector.Cylinder, teleDiskSector.Head); } else { DicConsole.DebugWriteLine("TeleDisk plugin", "\t\tSector {0} on cylinder {1} head {2} is duplicate, but is not marked so", - TDSector.sectorNumber, TDSector.cylinder, TDSector.head); + teleDiskSector.SectorNumber, teleDiskSector.Cylinder, teleDiskSector.Head); } } else { - sectorsData[TDTrack.cylinder][TDTrack.head][TDSector.sectorNumber] = decodedData; + sectorsData[teleDiskTrack.Cylinder][teleDiskTrack.Head][teleDiskSector.SectorNumber] = decodedData; totalDiskSize += (uint)decodedData.Length; } } @@ -724,17 +724,17 @@ namespace DiscImageChef.ImagePlugins if(leadOutMs.Length != 0) { leadOut = leadOutMs.ToArray(); - ImageInfo.readableMediaTags.Add(MediaTagType.Floppy_LeadOut); + ImageInfo.ReadableMediaTags.Add(MediaTagType.Floppy_LeadOut); } - ImageInfo.sectors = ImageInfo.cylinders * ImageInfo.heads * ImageInfo.sectorsPerTrack; - ImageInfo.mediaType = DecodeTeleDiskDiskType(); + ImageInfo.Sectors = ImageInfo.Cylinders * ImageInfo.Heads * ImageInfo.SectorsPerTrack; + ImageInfo.MediaType = DecodeTeleDiskDiskType(); - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - DicConsole.VerboseWriteLine("TeleDisk image contains a disk of type {0}", ImageInfo.mediaType); - if(!string.IsNullOrEmpty(ImageInfo.imageComments)) - DicConsole.VerboseWriteLine("TeleDisk comments: {0}", ImageInfo.imageComments); + DicConsole.VerboseWriteLine("TeleDisk image contains a disk of type {0}", ImageInfo.MediaType); + if(!string.IsNullOrEmpty(ImageInfo.ImageComments)) + DicConsole.VerboseWriteLine("TeleDisk comments: {0}", ImageInfo.ImageComments); inStream.Dispose(); stream.Dispose(); @@ -751,22 +751,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -787,17 +787,17 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); for(uint i = 0; i < length; i++) { byte[] sector = ReadSector(sectorAddress + i); - if(sector == null) sector = new byte[ImageInfo.sectorSize]; + if(sector == null) sector = new byte[ImageInfo.SectorSize]; buffer.Write(sector, 0, sector.Length); } @@ -806,9 +806,9 @@ namespace DiscImageChef.ImagePlugins (ushort cylinder, byte head, byte sector) LbaToChs(ulong lba) { - ushort cylinder = (ushort)(lba / (ImageInfo.heads * ImageInfo.sectorsPerTrack)); - byte head = (byte)((lba / ImageInfo.sectorsPerTrack) % ImageInfo.heads); - byte sector = (byte)((lba % ImageInfo.sectorsPerTrack) + 1); + ushort cylinder = (ushort)(lba / (ImageInfo.Heads * ImageInfo.SectorsPerTrack)); + byte head = (byte)((lba / ImageInfo.SectorsPerTrack) % ImageInfo.Heads); + byte sector = (byte)((lba % ImageInfo.SectorsPerTrack) + 1); return (cylinder, head, sector); } @@ -830,42 +830,42 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override bool? VerifySector(ulong sectorAddress) { - return !SectorsWhereCRCHasFailed.Contains(sectorAddress); + return !sectorsWhereCrcHasFailed.Contains(sectorAddress); } public override bool? VerifySector(ulong sectorAddress, uint track) @@ -873,36 +873,36 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); for(ulong i = sectorAddress; i < sectorAddress + length; i++) - if(SectorsWhereCRCHasFailed.Contains(sectorAddress)) FailingLBAs.Add(sectorAddress); + if(sectorsWhereCrcHasFailed.Contains(sectorAddress)) failingLbas.Add(sectorAddress); - return FailingLBAs.Count <= 0; + return failingLbas.Count <= 0; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } public override bool? VerifyMediaImage() { - return ADiskCRCHasFailed; + return aDiskCrcHasFailed; } #region Private methods - static ushort TeleDiskCRC(ushort crc, byte[] buffer) + static ushort TeleDiskCrc(ushort crc, byte[] buffer) { int counter = 0; @@ -912,7 +912,7 @@ namespace DiscImageChef.ImagePlugins for(int i = 0; i < 8; i++) { - if((crc & 0x8000) > 0) crc = (ushort)((crc << 1) ^ TeleDiskCRCPoly); + if((crc & 0x8000) > 0) crc = (ushort)((crc << 1) ^ TELE_DISK_CRC_POLY); else crc = (ushort)(crc << 1); } @@ -927,25 +927,25 @@ namespace DiscImageChef.ImagePlugins byte[] decodedData; switch(sectorSize) { - case SectorSize128: + case SECTOR_SIZE_128: decodedData = new byte[128]; break; - case SectorSize256: + case SECTOR_SIZE_256: decodedData = new byte[256]; break; - case SectorSize512: + case SECTOR_SIZE_512: decodedData = new byte[512]; break; - case SectorSize1K: + case SECTOR_SIZE_1K: decodedData = new byte[1024]; break; - case SectorSize2K: + case SECTOR_SIZE_2K: decodedData = new byte[2048]; break; - case SectorSize4K: + case SECTOR_SIZE_4K: decodedData = new byte[4096]; break; - case SectorSize8K: + case SECTOR_SIZE_8K: decodedData = new byte[8192]; break; default: @@ -954,10 +954,10 @@ namespace DiscImageChef.ImagePlugins switch(encodingType) { - case dataBlockCopy: + case DATA_BLOCK_COPY: Array.Copy(encodedData, decodedData, decodedData.Length); break; - case dataBlockPattern: + case DATA_BLOCK_PATTERN: { int ins = 0; int outs = 0; @@ -985,36 +985,36 @@ namespace DiscImageChef.ImagePlugins outs); break; } - case dataBlockRLE: + case DATA_BLOCK_RLE: { int ins = 0; int outs = 0; while(ins < encodedData.Length) { - byte Run; - byte Length; - byte Encoding; - byte[] Piece; + byte run; + byte length; + byte encoding; + byte[] piece; - Encoding = encodedData[ins]; - if(Encoding == 0x00) + encoding = encodedData[ins]; + if(encoding == 0x00) { - Length = encodedData[ins + 1]; - Array.Copy(encodedData, ins + 2, decodedData, outs, Length); - ins += (2 + Length); - outs += Length; + length = encodedData[ins + 1]; + Array.Copy(encodedData, ins + 2, decodedData, outs, length); + ins += (2 + length); + outs += length; } else { - Length = (byte)(Encoding * 2); - Run = encodedData[ins + 1]; - byte[] Part = new byte[Length]; - Array.Copy(encodedData, ins + 2, Part, 0, Length); - Piece = new byte[Length * Run]; - ArrayHelpers.ArrayFill(Piece, Part); - Array.Copy(Piece, 0, decodedData, outs, Piece.Length); - ins += (2 + Length); - outs += Piece.Length; + length = (byte)(encoding * 2); + run = encodedData[ins + 1]; + byte[] part = new byte[length]; + Array.Copy(encodedData, ins + 2, part, 0, length); + piece = new byte[length * run]; + ArrayHelpers.ArrayFill(piece, part); + Array.Copy(piece, 0, decodedData, outs, piece.Length); + ins += (2 + length); + outs += piece.Length; } } @@ -1037,32 +1037,32 @@ namespace DiscImageChef.ImagePlugins MediaType DecodeTeleDiskDiskType() { - switch(header.driveType) + switch(header.DriveType) { - case DriveType525DD: - case DriveType525HD_DDDisk: - case DriveType525HD: + case DRIVE_TYPE_525_DD: + case DRIVE_TYPE_525_HD_DD_DISK: + case DRIVE_TYPE_525_HD: { switch(totalDiskSize) { case 163840: { // Acorn disk uses 256 bytes/sector - if(ImageInfo.sectorSize == 256) return MediaType.ACORN_525_SS_DD_40; + if(ImageInfo.SectorSize == 256) return MediaType.ACORN_525_SS_DD_40; // DOS disks use 512 bytes/sector return MediaType.DOS_525_SS_DD_8; } case 184320: { // Atari disk uses 256 bytes/sector - if(ImageInfo.sectorSize == 256) return MediaType.ATARI_525_DD; + if(ImageInfo.SectorSize == 256) return MediaType.ATARI_525_DD; // DOS disks use 512 bytes/sector return MediaType.DOS_525_SS_DD_9; } case 327680: { // Acorn disk uses 256 bytes/sector - if(ImageInfo.sectorSize == 256) return MediaType.ACORN_525_SS_DD_80; + if(ImageInfo.SectorSize == 256) return MediaType.ACORN_525_SS_DD_80; // DOS disks use 512 bytes/sector return MediaType.DOS_525_DS_DD_8; } @@ -1091,9 +1091,9 @@ namespace DiscImageChef.ImagePlugins } } } - case DriveType35DD: - case DriveType35ED: - case DriveType35HD: + case DRIVE_TYPE_35_DD: + case DRIVE_TYPE_35_ED: + case DRIVE_TYPE_35_HD: { switch(totalDiskSize) { @@ -1123,7 +1123,7 @@ namespace DiscImageChef.ImagePlugins } } } - case DriveType8inch: + case DRIVE_TYPE_8_INCH: { switch(totalDiskSize) { @@ -1142,7 +1142,7 @@ namespace DiscImageChef.ImagePlugins case 512512: { // DEC disk uses 256 bytes/sector - if(ImageInfo.sectorSize == 256) return MediaType.RX02; + if(ImageInfo.SectorSize == 256) return MediaType.RX02; // ECMA disks use 128 bytes/sector return MediaType.ECMA_59; } @@ -1161,7 +1161,7 @@ namespace DiscImageChef.ImagePlugins default: { DicConsole.DebugWriteLine("TeleDisk plugin", "Unknown drive type {1} with {0} bytes", totalDiskSize, - header.driveType); + header.DriveType); return MediaType.Unknown; } } @@ -1192,62 +1192,62 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() @@ -1355,19 +1355,19 @@ namespace DiscImageChef.ImagePlugins /* update when cumulative frequency */ /* reaches to this value */ - struct tdlzhuf + struct Tdlzhuf { - public ushort r, - bufcnt, - bufndx, - bufpos, // string buffer + public ushort R, + Bufcnt, + Bufndx, + Bufpos, // string buffer // the following to allow block reads from input in next_word() - ibufcnt, - ibufndx; // input buffer counters - public byte[] inbuf; // input buffer + Ibufcnt, + Ibufndx; // input buffer counters + public byte[] Inbuf; // input buffer }; - tdlzhuf tdctl; + Tdlzhuf tdctl; byte[] text_buf = new byte[N + F - 1]; ushort[] freq = new ushort[T + 1]; /* cumulative freq table */ @@ -1438,17 +1438,17 @@ namespace DiscImageChef.ImagePlugins int next_word() { - if(tdctl.ibufndx >= tdctl.ibufcnt) + if(tdctl.Ibufndx >= tdctl.Ibufcnt) { - tdctl.ibufndx = 0; - tdctl.ibufcnt = (ushort)data_read(out tdctl.inbuf, BUFSZ); - if(tdctl.ibufcnt <= 0) return (-1); + tdctl.Ibufndx = 0; + tdctl.Ibufcnt = (ushort)data_read(out tdctl.Inbuf, BUFSZ); + if(tdctl.Ibufcnt <= 0) return (-1); } while(getlen <= 8) { // typically reads a word at a time - getbuf |= (ushort)(tdctl.inbuf[tdctl.ibufndx++] << (8 - getlen)); + getbuf |= (ushort)(tdctl.Inbuf[tdctl.Ibufndx++] << (8 - getlen)); getlen += 8; } @@ -1509,7 +1509,7 @@ namespace DiscImageChef.ImagePlugins /* reconstruct freq tree */ - void reconst() + void Reconst() { short i, j, k; ushort f, l; @@ -1551,11 +1551,11 @@ namespace DiscImageChef.ImagePlugins /* update freq tree */ - void update(int c) + void Update(int c) { int i, j, k, l; - if(freq[R] == MAX_FREQ) { reconst(); } + if(freq[R] == MAX_FREQ) { Reconst(); } c = prnt[c + T]; do { @@ -1609,7 +1609,7 @@ namespace DiscImageChef.ImagePlugins } c -= T; - update(c); + Update(c); return (short)c; } @@ -1648,13 +1648,13 @@ namespace DiscImageChef.ImagePlugins int i; getbuf = 0; getlen = 0; - tdctl = new tdlzhuf(); - tdctl.ibufcnt = tdctl.ibufndx = 0; // input buffer is empty - tdctl.bufcnt = 0; + tdctl = new Tdlzhuf(); + tdctl.Ibufcnt = tdctl.Ibufndx = 0; // input buffer is empty + tdctl.Bufcnt = 0; StartHuff(); for(i = 0; i < N - F; i++) text_buf[i] = 0x20; - tdctl.r = N - F; + tdctl.R = N - F; } int Decode(out byte[] buf, int len) /* Decoding/Uncompressing */ @@ -1664,40 +1664,40 @@ namespace DiscImageChef.ImagePlugins int count; // was an unsigned long, seems unnecessary for(count = 0; count < len;) { - if(tdctl.bufcnt == 0) + if(tdctl.Bufcnt == 0) { if((c = DecodeChar()) < 0) return (count); // fatal error if(c < 256) { buf[count] = (byte)c; - text_buf[tdctl.r++] = (byte)c; - tdctl.r &= (N - 1); + text_buf[tdctl.R++] = (byte)c; + tdctl.R &= (N - 1); count++; } else { if((pos = DecodePosition()) < 0) return (count); // fatal error - tdctl.bufpos = (ushort)((tdctl.r - pos - 1) & (N - 1)); - tdctl.bufcnt = (ushort)(c - 255 + THRESHOLD); - tdctl.bufndx = 0; + tdctl.Bufpos = (ushort)((tdctl.R - pos - 1) & (N - 1)); + tdctl.Bufcnt = (ushort)(c - 255 + THRESHOLD); + tdctl.Bufndx = 0; } } else { // still chars from last string - while(tdctl.bufndx < tdctl.bufcnt && count < len) + while(tdctl.Bufndx < tdctl.Bufcnt && count < len) { - c = text_buf[(tdctl.bufpos + tdctl.bufndx) & (N - 1)]; + c = text_buf[(tdctl.Bufpos + tdctl.Bufndx) & (N - 1)]; buf[count] = (byte)c; - tdctl.bufndx++; - text_buf[tdctl.r++] = (byte)c; - tdctl.r &= (N - 1); + tdctl.Bufndx++; + text_buf[tdctl.R++] = (byte)c; + tdctl.R &= (N - 1); count++; } // reset bufcnt after copy string from text_buf[] - if(tdctl.bufndx >= tdctl.bufcnt) tdctl.bufndx = tdctl.bufcnt = 0; + if(tdctl.Bufndx >= tdctl.Bufcnt) tdctl.Bufndx = tdctl.Bufcnt = 0; } } diff --git a/DiscImageChef.DiscImages/UDIF.cs b/DiscImageChef.DiscImages/UDIF.cs index b27063da5..f20d54820 100644 --- a/DiscImageChef.DiscImages/UDIF.cs +++ b/DiscImageChef.DiscImages/UDIF.cs @@ -39,43 +39,43 @@ using Claunia.RsrcFork; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using SharpCompress.Compressors; using SharpCompress.Compressors.ADC; using SharpCompress.Compressors.BZip2; namespace DiscImageChef.DiscImages { - public class UDIF : ImagePlugin + public class Udif : ImagePlugin { #region Internal constants - const uint UDIF_Signature = 0x6B6F6C79; - const uint Chunk_Signature = 0x6D697368; + const uint UDIF_SIGNATURE = 0x6B6F6C79; + const uint CHUNK_SIGNATURE = 0x6D697368; // All chunk types with this mask are compressed - const uint ChunkType_CompressedMask = 0x80000000; + const uint CHUNK_TYPE_COMPRESSED_MASK = 0x80000000; - const uint ChunkType_Zero = 0x00000000; - const uint ChunkType_Copy = 0x00000001; - const uint ChunkType_NoCopy = 0x00000002; - const uint ChunkType_KenCode = 0x80000001; - const uint ChunkType_RLE = 0x80000002; - const uint ChunkType_LZH = 0x80000003; - const uint ChunkType_ADC = 0x80000004; - const uint ChunkType_Zlib = 0x80000005; - const uint ChunkType_Bzip = 0x80000006; - const uint ChunkType_LZFSE = 0x80000007; - const uint ChunkType_Commnt = 0x7FFFFFFE; - const uint ChunkType_End = 0xFFFFFFFF; + const uint CHUNK_TYPE_ZERO = 0x00000000; + const uint CHUNK_TYPE_COPY = 0x00000001; + const uint CHUNK_TYPE_NOCOPY = 0x00000002; + const uint CHUNK_TYPE_KENCODE = 0x80000001; + const uint CHUNK_TYPE_RLE = 0x80000002; + const uint CHUNK_TYPE_LZH = 0x80000003; + const uint CHUNK_TYPE_ADC = 0x80000004; + const uint CHUNK_TYPE_ZLIB = 0x80000005; + const uint CHUNK_TYPE_BZIP = 0x80000006; + const uint CHUNK_TYPE_LZFSE = 0x80000007; + const uint CHUNK_TYPE_COMMNT = 0x7FFFFFFE; + const uint CHUNK_TYPE_END = 0xFFFFFFFF; - const string ResourceForkKey = "resource-fork"; - const string BlockKey = "blkx"; - const uint BlockOSType = 0x626C6B78; + const string RESOURCE_FORK_KEY = "resource-fork"; + const string BLOCK_KEY = "blkx"; + const uint BLOCK_OS_TYPE = 0x626C6B78; #endregion #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct UDIF_Footer + struct UdifFooter { public uint signature; public uint version; @@ -140,44 +140,44 @@ namespace DiscImageChef.DiscImages } #endregion - UDIF_Footer footer; + UdifFooter footer; Dictionary<ulong, BlockChunk> chunks; Dictionary<ulong, byte[]> sectorCache; Dictionary<ulong, byte[]> chunkCache; - const uint MaxCacheSize = 16777216; - const uint sectorSize = 512; - uint maxCachedSectors = MaxCacheSize / sectorSize; + const uint MAX_CACHE_SIZE = 16777216; + const uint SECTOR_SIZE = 512; + uint maxCachedSectors = MAX_CACHE_SIZE / SECTOR_SIZE; uint currentChunkCacheSize; uint buffersize; Stream imageStream; - public UDIF() + public Udif() { Name = "Apple Universal Disk Image Format"; - PluginUUID = new Guid("5BEB9002-CF3D-429C-8E06-9A96F49203FF"); + PluginUuid = new Guid("5BEB9002-CF3D-429C-8E06-9A96F49203FF"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -187,21 +187,21 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; stream.Seek(-Marshal.SizeOf(footer), SeekOrigin.End); - byte[] footer_b = new byte[Marshal.SizeOf(footer)]; + byte[] footerB = new byte[Marshal.SizeOf(footer)]; - stream.Read(footer_b, 0, Marshal.SizeOf(footer)); - footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UDIF_Footer>(footer_b); + stream.Read(footerB, 0, Marshal.SizeOf(footer)); + footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UdifFooter>(footerB); - if(footer.signature == UDIF_Signature) return true; + if(footer.signature == UDIF_SIGNATURE) return true; // Old UDIF as created by DiskCopy 6.5 using "OBSOLETE" format. (DiskCopy 5 rumored format?) stream.Seek(0, SeekOrigin.Begin); - byte[] header_b = new byte[Marshal.SizeOf(footer)]; + byte[] headerB = new byte[Marshal.SizeOf(footer)]; - stream.Read(header_b, 0, Marshal.SizeOf(footer)); - footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UDIF_Footer>(header_b); + stream.Read(headerB, 0, Marshal.SizeOf(footer)); + footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UdifFooter>(headerB); - return footer.signature == UDIF_Signature; + return footer.signature == UDIF_SIGNATURE; } public override bool OpenImage(Filter imageFilter) @@ -211,20 +211,20 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; stream.Seek(-Marshal.SizeOf(footer), SeekOrigin.End); - byte[] footer_b = new byte[Marshal.SizeOf(footer)]; + byte[] footerB = new byte[Marshal.SizeOf(footer)]; - stream.Read(footer_b, 0, Marshal.SizeOf(footer)); - footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UDIF_Footer>(footer_b); + stream.Read(footerB, 0, Marshal.SizeOf(footer)); + footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UdifFooter>(footerB); - if(footer.signature != UDIF_Signature) + if(footer.signature != UDIF_SIGNATURE) { stream.Seek(0, SeekOrigin.Begin); - footer_b = new byte[Marshal.SizeOf(footer)]; + footerB = new byte[Marshal.SizeOf(footer)]; - stream.Read(footer_b, 0, Marshal.SizeOf(footer)); - footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UDIF_Footer>(footer_b); + stream.Read(footerB, 0, Marshal.SizeOf(footer)); + footer = BigEndianMarshal.ByteArrayToStructureBigEndian<UdifFooter>(footerB); - if(footer.signature != UDIF_Signature) throw new Exception("Unable to find UDIF signature."); + if(footer.signature != UDIF_SIGNATURE) throw new Exception("Unable to find UDIF signature."); DicConsole.VerboseWriteLine("Found obsolete UDIF format."); } @@ -271,17 +271,17 @@ namespace DiscImageChef.DiscImages if(footer.plistLen == 0 && footer.rsrcForkLen != 0) { DicConsole.DebugWriteLine("UDIF plugin", "Reading resource fork."); - byte[] rsrc_b = new byte[footer.rsrcForkLen]; + byte[] rsrcB = new byte[footer.rsrcForkLen]; stream.Seek((long)footer.rsrcForkOff, SeekOrigin.Begin); - stream.Read(rsrc_b, 0, rsrc_b.Length); + stream.Read(rsrcB, 0, rsrcB.Length); - ResourceFork rsrc = new ResourceFork(rsrc_b); + ResourceFork rsrc = new ResourceFork(rsrcB); - if(!rsrc.ContainsKey(BlockOSType)) + if(!rsrc.ContainsKey(BLOCK_OS_TYPE)) throw new ImageNotSupportedException("Image resource fork doesn't contain UDIF block chunks. Please fill an issue and send it to us."); - Resource blkxRez = rsrc.GetResource(BlockOSType); + Resource blkxRez = rsrc.GetResource(BLOCK_OS_TYPE); if(blkxRez == null) throw new @@ -300,24 +300,24 @@ namespace DiscImageChef.DiscImages else if(footer.plistLen != 0) { DicConsole.DebugWriteLine("UDIF plugin", "Reading property list."); - byte[] plist_b = new byte[footer.plistLen]; + byte[] plistB = new byte[footer.plistLen]; stream.Seek((long)footer.plistOff, SeekOrigin.Begin); - stream.Read(plist_b, 0, plist_b.Length); + stream.Read(plistB, 0, plistB.Length); DicConsole.DebugWriteLine("UDIF plugin", "Parsing property list."); - NSDictionary plist = (NSDictionary)XmlPropertyListParser.Parse(plist_b); + NSDictionary plist = (NSDictionary)XmlPropertyListParser.Parse(plistB); if(plist == null) throw new Exception("Could not parse property list."); NSObject rsrcObj; - if(!plist.TryGetValue(ResourceForkKey, out rsrcObj)) + if(!plist.TryGetValue(RESOURCE_FORK_KEY, out rsrcObj)) throw new Exception("Could not retrieve resource fork."); NSDictionary rsrc = (NSDictionary)rsrcObj; NSObject blkxObj; - if(!rsrc.TryGetValue(BlockKey, out blkxObj)) + if(!rsrc.TryGetValue(BLOCK_KEY, out blkxObj)) throw new Exception("Could not retrieve block chunks array."); NSObject[] blkx = ((NSArray)blkxObj).GetArray(); @@ -351,10 +351,10 @@ namespace DiscImageChef.DiscImages bChnk.offset = footer.dataForkOff; bChnk.sector = 0; bChnk.sectors = footer.sectorCount; - bChnk.type = ChunkType_Copy; - ImageInfo.sectors = footer.sectorCount; + bChnk.type = CHUNK_TYPE_COPY; + ImageInfo.Sectors = footer.sectorCount; chunks.Add(bChnk.sector, bChnk); - buffersize = 2048 * sectorSize; + buffersize = 2048 * SECTOR_SIZE; fakeBlockChunks = true; } @@ -388,19 +388,19 @@ namespace DiscImageChef.DiscImages if(dev != null) pre = string.Format("{0}", version.PreReleaseVersion); - ImageInfo.imageApplicationVersion = string.Format("{0}{1}{2}{3}{4}", major, minor, release, dev, pre); - ImageInfo.imageApplication = version.VersionString; - ImageInfo.imageComments = version.VersionMessage; + ImageInfo.ImageApplicationVersion = string.Format("{0}{1}{2}{3}{4}", major, minor, release, dev, pre); + ImageInfo.ImageApplication = version.VersionString; + ImageInfo.ImageComments = version.VersionMessage; - if(version.MajorVersion == 3) ImageInfo.imageApplication = "ShrinkWrap™"; - else if(version.MajorVersion == 6) ImageInfo.imageApplication = "DiskCopy"; + if(version.MajorVersion == 3) ImageInfo.ImageApplication = "ShrinkWrap™"; + else if(version.MajorVersion == 6) ImageInfo.ImageApplication = "DiskCopy"; } - else ImageInfo.imageApplication = "DiskCopy"; + else ImageInfo.ImageApplication = "DiskCopy"; - DicConsole.DebugWriteLine("UDIF plugin", "Image application = {0} version {1}", ImageInfo.imageApplication, - ImageInfo.imageApplicationVersion); + DicConsole.DebugWriteLine("UDIF plugin", "Image application = {0} version {1}", ImageInfo.ImageApplication, + ImageInfo.ImageApplicationVersion); - ImageInfo.sectors = 0; + ImageInfo.Sectors = 0; if(!fakeBlockChunks) { if(blkxList.Count == 0) @@ -412,9 +412,9 @@ namespace DiscImageChef.DiscImages foreach(byte[] blkxBytes in blkxList) { BlockHeader bHdr = new BlockHeader(); - byte[] bHdr_b = new byte[Marshal.SizeOf(bHdr)]; - Array.Copy(blkxBytes, 0, bHdr_b, 0, Marshal.SizeOf(bHdr)); - bHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<BlockHeader>(bHdr_b); + byte[] bHdrB = new byte[Marshal.SizeOf(bHdr)]; + Array.Copy(blkxBytes, 0, bHdrB, 0, Marshal.SizeOf(bHdr)); + bHdr = BigEndianMarshal.ByteArrayToStructureBigEndian<BlockHeader>(bHdrB); DicConsole.DebugWriteLine("UDIF plugin", "bHdr.signature = 0x{0:X8}", bHdr.signature); DicConsole.DebugWriteLine("UDIF plugin", "bHdr.version = {0}", bHdr.version); @@ -436,15 +436,15 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("UDIF plugin", "bHdr.reservedChk is empty? = {0}", ArrayHelpers.ArrayIsNullOrEmpty(bHdr.reservedChk)); - if(bHdr.buffers > buffersize) buffersize = bHdr.buffers * sectorSize; + if(bHdr.buffers > buffersize) buffersize = bHdr.buffers * SECTOR_SIZE; for(int i = 0; i < bHdr.chunks; i++) { BlockChunk bChnk = new BlockChunk(); - byte[] bChnk_b = new byte[Marshal.SizeOf(bChnk)]; - Array.Copy(blkxBytes, Marshal.SizeOf(bHdr) + Marshal.SizeOf(bChnk) * i, bChnk_b, 0, + byte[] bChnkB = new byte[Marshal.SizeOf(bChnk)]; + Array.Copy(blkxBytes, Marshal.SizeOf(bHdr) + Marshal.SizeOf(bChnk) * i, bChnkB, 0, Marshal.SizeOf(bChnk)); - bChnk = BigEndianMarshal.ByteArrayToStructureBigEndian<BlockChunk>(bChnk_b); + bChnk = BigEndianMarshal.ByteArrayToStructureBigEndian<BlockChunk>(bChnkB); DicConsole.DebugWriteLine("UDIF plugin", "bHdr.chunk[{0}].type = 0x{1:X8}", i, bChnk.type); DicConsole.DebugWriteLine("UDIF plugin", "bHdr.chunk[{0}].comment = {1}", i, bChnk.comment); @@ -453,30 +453,30 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("UDIF plugin", "bHdr.chunk[{0}].offset = {1}", i, bChnk.offset); DicConsole.DebugWriteLine("UDIF plugin", "bHdr.chunk[{0}].length = {1}", i, bChnk.length); - if(bChnk.type == ChunkType_End) break; + if(bChnk.type == CHUNK_TYPE_END) break; - ImageInfo.sectors += bChnk.sectors; + ImageInfo.Sectors += bChnk.sectors; // Chunk offset is relative bChnk.sector += bHdr.sectorStart; bChnk.offset += bHdr.dataOffset; // TODO: Handle comments - if(bChnk.type == ChunkType_Commnt) continue; + if(bChnk.type == CHUNK_TYPE_COMMNT) continue; // TODO: Handle compressed chunks - if((bChnk.type == ChunkType_KenCode)) + if((bChnk.type == CHUNK_TYPE_KENCODE)) throw new ImageNotSupportedException("Chunks compressed with KenCode are not yet supported."); - if((bChnk.type == ChunkType_RLE)) + if((bChnk.type == CHUNK_TYPE_RLE)) throw new ImageNotSupportedException("Chunks compressed with RLE are not yet supported."); - if((bChnk.type == ChunkType_LZH)) + if((bChnk.type == CHUNK_TYPE_LZH)) throw new ImageNotSupportedException("Chunks compressed with LZH are not yet supported."); - if((bChnk.type == ChunkType_LZFSE)) + if((bChnk.type == CHUNK_TYPE_LZFSE)) throw new ImageNotSupportedException("Chunks compressed with lzfse are not yet supported."); - if((bChnk.type > ChunkType_NoCopy && bChnk.type < ChunkType_Commnt) || - (bChnk.type > ChunkType_LZFSE && bChnk.type < ChunkType_End)) + if((bChnk.type > CHUNK_TYPE_NOCOPY && bChnk.type < CHUNK_TYPE_COMMNT) || + (bChnk.type > CHUNK_TYPE_LZFSE && bChnk.type < CHUNK_TYPE_END)) throw new ImageNotSupportedException(string.Format("Unsupported chunk type 0x{0:X8} found", bChnk.type)); @@ -490,25 +490,25 @@ namespace DiscImageChef.DiscImages currentChunkCacheSize = 0; imageStream = stream; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectorSize = sectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = ImageInfo.sectors * sectorSize; - ImageInfo.imageVersion = string.Format("{0}", footer.version); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.SectorSize = SECTOR_SIZE; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = ImageInfo.Sectors * SECTOR_SIZE; + ImageInfo.ImageVersion = string.Format("{0}", footer.version); - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; return true; } public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -530,7 +530,7 @@ namespace DiscImageChef.DiscImages } } - long relOff = ((long)sectorAddress - (long)chunkStartSector) * sectorSize; + long relOff = ((long)sectorAddress - (long)chunkStartSector) * SECTOR_SIZE; if(relOff < 0) throw new ArgumentOutOfRangeException(nameof(relOff), @@ -542,7 +542,7 @@ namespace DiscImageChef.DiscImages throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if((currentChunk.type & ChunkType_CompressedMask) == ChunkType_CompressedMask) + if((currentChunk.type & CHUNK_TYPE_COMPRESSED_MASK) == CHUNK_TYPE_COMPRESSED_MASK) { byte[] buffer; if(!chunkCache.TryGetValue(chunkStartSector, out buffer)) @@ -553,10 +553,10 @@ namespace DiscImageChef.DiscImages MemoryStream cmpMs = new MemoryStream(cmpBuffer); Stream decStream; - if(currentChunk.type == ChunkType_ADC) decStream = new ADCStream(cmpMs, CompressionMode.Decompress); - else if(currentChunk.type == ChunkType_Zlib) + if(currentChunk.type == CHUNK_TYPE_ADC) decStream = new ADCStream(cmpMs, CompressionMode.Decompress); + else if(currentChunk.type == CHUNK_TYPE_ZLIB) decStream = new Ionic.Zlib.ZlibStream(cmpMs, Ionic.Zlib.CompressionMode.Decompress); - else if(currentChunk.type == ChunkType_Bzip) + else if(currentChunk.type == CHUNK_TYPE_BZIP) decStream = new BZip2Stream(cmpMs, CompressionMode.Decompress); else throw new ImageNotSupportedException(string.Format("Unsupported chunk type 0x{0:X8} found", @@ -572,7 +572,7 @@ namespace DiscImageChef.DiscImages Array.Copy(tmpBuffer, 0, buffer, 0, realSize); tmpBuffer = null; - if(currentChunkCacheSize + realSize > MaxCacheSize) + if(currentChunkCacheSize + realSize > MAX_CACHE_SIZE) { chunkCache.Clear(); currentChunkCacheSize = 0; @@ -590,8 +590,8 @@ namespace DiscImageChef.DiscImages #endif } - sector = new byte[sectorSize]; - Array.Copy(buffer, relOff, sector, 0, sectorSize); + sector = new byte[SECTOR_SIZE]; + Array.Copy(buffer, relOff, sector, 0, SECTOR_SIZE); if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -600,9 +600,9 @@ namespace DiscImageChef.DiscImages return sector; } - if(currentChunk.type == ChunkType_NoCopy || currentChunk.type == ChunkType_Zero) + if(currentChunk.type == CHUNK_TYPE_NOCOPY || currentChunk.type == CHUNK_TYPE_ZERO) { - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -610,10 +610,10 @@ namespace DiscImageChef.DiscImages return sector; } - if(currentChunk.type == ChunkType_Copy) + if(currentChunk.type == CHUNK_TYPE_COPY) { imageStream.Seek((long)currentChunk.offset + relOff, SeekOrigin.Begin); - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; imageStream.Read(sector, 0, sector.Length); if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -628,11 +628,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -653,17 +653,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -673,47 +673,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -857,18 +857,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/UkvFdi.cs b/DiscImageChef.DiscImages/UkvFdi.cs index c5c3afab5..6d4e56de0 100644 --- a/DiscImageChef.DiscImages/UkvFdi.cs +++ b/DiscImageChef.DiscImages/UkvFdi.cs @@ -39,7 +39,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class UkvFdi : ImagePlugin { @@ -87,29 +87,29 @@ namespace DiscImageChef.ImagePlugins public UkvFdi() { Name = "Spectrum Floppy Disk Image"; - PluginUUID = new Guid("DADFC9B2-67C1-42A3-B124-825528163FC0"); + PluginUuid = new Guid("DADFC9B2-67C1-42A3-B124-825528163FC0"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } @@ -158,9 +158,9 @@ namespace DiscImageChef.ImagePlugins stream.Seek(hdr.descOff, SeekOrigin.Begin); byte[] description = new byte[hdr.dataOff - hdr.descOff]; stream.Read(description, 0, description.Length); - ImageInfo.imageComments = StringHandlers.CToString(description); + ImageInfo.ImageComments = StringHandlers.CToString(description); - DicConsole.DebugWriteLine("UkvFdi plugin", "hdr.description = \"{0}\"", ImageInfo.imageComments); + DicConsole.DebugWriteLine("UkvFdi plugin", "hdr.description = \"{0}\"", ImageInfo.ImageComments); stream.Seek(0xE + hdr.addInfoLen, SeekOrigin.Begin); @@ -168,8 +168,8 @@ namespace DiscImageChef.ImagePlugins uint[][][] sectorsOff = new uint[hdr.cylinders][][]; sectorsData = new byte[hdr.cylinders][][][]; - ImageInfo.cylinders = hdr.cylinders; - ImageInfo.heads = hdr.heads; + ImageInfo.Cylinders = hdr.cylinders; + ImageInfo.Heads = hdr.heads; // Read track descriptors for(ushort cyl = 0; cyl < hdr.cylinders; cyl++) @@ -218,7 +218,7 @@ namespace DiscImageChef.ImagePlugins sectorsOff[cyl][head][sec] = secOff + trkOff + hdr.dataOff; sectorsData[cyl][head][sec] = new byte[128 << n]; - if(128 << n > ImageInfo.sectorSize) ImageInfo.sectorSize = (uint)(128 << n); + if(128 << n > ImageInfo.SectorSize) ImageInfo.SectorSize = (uint)(128 << n); } } } @@ -247,23 +247,23 @@ namespace DiscImageChef.ImagePlugins else { sectorsData[cyl][head] = new byte[spt][]; - for(int i = 0; i < spt; i++) sectorsData[cyl][head][i] = new byte[ImageInfo.sectorSize]; + for(int i = 0; i < spt; i++) sectorsData[cyl][head][i] = new byte[ImageInfo.SectorSize]; } } } - if(emptyCyl) ImageInfo.cylinders--; + if(emptyCyl) ImageInfo.Cylinders--; } // TODO: What about double sided, half track pitch compact floppies? - ImageInfo.mediaType = MediaType.CompactFloppy; - ImageInfo.imageSize = (ulong)stream.Length - hdr.dataOff; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectorsPerTrack = (uint)spt; - ImageInfo.sectors = ImageInfo.cylinders * ImageInfo.heads * ImageInfo.sectorsPerTrack; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.CompactFloppy; + ImageInfo.ImageSize = (ulong)stream.Length - hdr.dataOff; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.SectorsPerTrack = (uint)spt; + ImageInfo.Sectors = ImageInfo.Cylinders * ImageInfo.Heads * ImageInfo.SectorsPerTrack; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; return true; } @@ -275,17 +275,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -295,47 +295,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -356,10 +356,10 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream buffer = new MemoryStream(); @@ -374,9 +374,9 @@ namespace DiscImageChef.ImagePlugins (ushort cylinder, byte head, byte sector) LbaToChs(ulong lba) { - ushort cylinder = (ushort)(lba / (ImageInfo.heads * ImageInfo.sectorsPerTrack)); - byte head = (byte)((lba / ImageInfo.sectorsPerTrack) % ImageInfo.heads); - byte sector = (byte)((lba % ImageInfo.sectorsPerTrack) + 1); + ushort cylinder = (ushort)(lba / (ImageInfo.Heads * ImageInfo.SectorsPerTrack)); + byte head = (byte)((lba / ImageInfo.SectorsPerTrack) % ImageInfo.Heads); + byte sector = (byte)((lba % ImageInfo.SectorsPerTrack) + 1); return (cylinder, head, sector); } @@ -522,18 +522,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/VDI.cs b/DiscImageChef.DiscImages/VDI.cs index 4662fc0e5..e073dd8b7 100644 --- a/DiscImageChef.DiscImages/VDI.cs +++ b/DiscImageChef.DiscImages/VDI.cs @@ -37,34 +37,34 @@ using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.DiscImages { - public class VDI : ImagePlugin + public class Vdi : ImagePlugin { #region Internal constants - const uint VDIMagic = 0xBEDA107F; - const uint VDIEmpty = 0xFFFFFFFF; + const uint VDI_MAGIC = 0xBEDA107F; + const uint VDI_EMPTY = 0xFFFFFFFF; - const string OracleVDI = "<<< Oracle VM VirtualBox Disk Image >>>\n"; + const string ORACLE_VDI = "<<< Oracle VM VirtualBox Disk Image >>>\n"; const string QEMUVDI = "<<< QEMU VM Virtual Disk Image >>>\n"; - const string SunOldVDI = "<<< Sun xVM VirtualBox Disk Image >>>\n"; - const string SunVDI = "<<< Sun VirtualBox Disk Image >>>\n"; - const string InnotekVDI = "<<< innotek VirtualBox Disk Image >>>\n"; - const string InnotekOldVDI = "<<< InnoTek VirtualBox Disk Image >>>\n"; + const string SUN_OLD_VDI = "<<< Sun xVM VirtualBox Disk Image >>>\n"; + const string SUN_VDI = "<<< Sun VirtualBox Disk Image >>>\n"; + const string INNOTEK_VDI = "<<< innotek VirtualBox Disk Image >>>\n"; + const string INNOTEK_OLD_VDI = "<<< InnoTek VirtualBox Disk Image >>>\n"; #endregion #region Internal Structures - [StructLayout(LayoutKind.Sequential, Pack = 1)] /// <summary> /// VDI disk image header, little-endian /// </summary> - struct VDIHeader + [StructLayout(LayoutKind.Sequential, Pack = 1)] + struct VdiHeader { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] public string creator; /// <summary> - /// Magic, <see cref="VDIMagic"/> + /// Magic, <see cref="Vdi.VDI_MAGIC"/> /// </summary> public uint magic; /// <summary> @@ -96,40 +96,40 @@ namespace DiscImageChef.DiscImages } #endregion - VDIHeader vHdr; - uint[] IBM; + VdiHeader vHdr; + uint[] ibm; Stream imageStream; Dictionary<ulong, byte[]> sectorCache; - const uint MaxCacheSize = 16777216; - uint maxCachedSectors = MaxCacheSize / 512; + const uint MAX_CACHE_SIZE = 16777216; + const uint MAX_CACHED_SECTORS = MAX_CACHE_SIZE / 512; - public VDI() + public Vdi() { Name = "VirtualBox Disk Image"; - PluginUUID = new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); + PluginUuid = new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -139,15 +139,15 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] vHdr_b = new byte[Marshal.SizeOf(vHdr)]; - stream.Read(vHdr_b, 0, Marshal.SizeOf(vHdr)); - vHdr = new VDIHeader(); + byte[] vHdrB = new byte[Marshal.SizeOf(vHdr)]; + stream.Read(vHdrB, 0, Marshal.SizeOf(vHdr)); + vHdr = new VdiHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vHdr)); - Marshal.Copy(vHdr_b, 0, headerPtr, Marshal.SizeOf(vHdr)); - vHdr = (VDIHeader)Marshal.PtrToStructure(headerPtr, typeof(VDIHeader)); + Marshal.Copy(vHdrB, 0, headerPtr, Marshal.SizeOf(vHdr)); + vHdr = (VdiHeader)Marshal.PtrToStructure(headerPtr, typeof(VdiHeader)); Marshal.FreeHGlobal(headerPtr); - return vHdr.magic == VDIMagic; + return vHdr.magic == VDI_MAGIC; } public override bool OpenImage(Filter imageFilter) @@ -157,12 +157,12 @@ namespace DiscImageChef.DiscImages if(stream.Length < 512) return false; - byte[] vHdr_b = new byte[Marshal.SizeOf(vHdr)]; - stream.Read(vHdr_b, 0, Marshal.SizeOf(vHdr)); - vHdr = new VDIHeader(); + byte[] vHdrB = new byte[Marshal.SizeOf(vHdr)]; + stream.Read(vHdrB, 0, Marshal.SizeOf(vHdr)); + vHdr = new VdiHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vHdr)); - Marshal.Copy(vHdr_b, 0, headerPtr, Marshal.SizeOf(vHdr)); - vHdr = (VDIHeader)Marshal.PtrToStructure(headerPtr, typeof(VDIHeader)); + Marshal.Copy(vHdrB, 0, headerPtr, Marshal.SizeOf(vHdr)); + vHdr = (VdiHeader)Marshal.PtrToStructure(headerPtr, typeof(VdiHeader)); Marshal.FreeHGlobal(headerPtr); DicConsole.DebugWriteLine("VirtualBox plugin", "vHdr.creator = {0}", vHdr.creator); @@ -191,56 +191,56 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("VirtualBox plugin", "Reading Image Block Map"); stream.Seek(vHdr.offsetBlocks, SeekOrigin.Begin); - IBM = new uint[vHdr.blocks]; - byte[] IBM_b = new byte[vHdr.blocks * 4]; - stream.Read(IBM_b, 0, IBM_b.Length); - for(int i = 0; i < IBM.Length; i++) IBM[i] = BitConverter.ToUInt32(IBM_b, i * 4); + ibm = new uint[vHdr.blocks]; + byte[] ibmB = new byte[vHdr.blocks * 4]; + stream.Read(ibmB, 0, ibmB.Length); + for(int i = 0; i < ibm.Length; i++) ibm[i] = BitConverter.ToUInt32(ibmB, i * 4); sectorCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = vHdr.size / vHdr.sectorSize; - ImageInfo.imageSize = vHdr.size; - ImageInfo.sectorSize = vHdr.sectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageComments = vHdr.description; - ImageInfo.imageVersion = string.Format("{0}.{1}", vHdr.majorVersion, vHdr.minorVersion); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = vHdr.size / vHdr.sectorSize; + ImageInfo.ImageSize = vHdr.size; + ImageInfo.SectorSize = vHdr.sectorSize; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageComments = vHdr.description; + ImageInfo.ImageVersion = string.Format("{0}.{1}", vHdr.majorVersion, vHdr.minorVersion); switch(vHdr.creator) { - case SunVDI: - ImageInfo.imageApplication = "Sun VirtualBox"; + case SUN_VDI: + ImageInfo.ImageApplication = "Sun VirtualBox"; break; - case SunOldVDI: - ImageInfo.imageApplication = "Sun xVM"; + case SUN_OLD_VDI: + ImageInfo.ImageApplication = "Sun xVM"; break; - case OracleVDI: - ImageInfo.imageApplication = "Oracle VirtualBox"; + case ORACLE_VDI: + ImageInfo.ImageApplication = "Oracle VirtualBox"; break; case QEMUVDI: - ImageInfo.imageApplication = "QEMU"; + ImageInfo.ImageApplication = "QEMU"; break; - case InnotekVDI: - case InnotekOldVDI: - ImageInfo.imageApplication = "innotek VirtualBox"; + case INNOTEK_VDI: + case INNOTEK_OLD_VDI: + ImageInfo.ImageApplication = "innotek VirtualBox"; break; } imageStream = stream; - ImageInfo.cylinders = vHdr.cylinders; - ImageInfo.heads = vHdr.heads; - ImageInfo.sectorsPerTrack = vHdr.spt; + ImageInfo.Cylinders = vHdr.cylinders; + ImageInfo.Heads = vHdr.heads; + ImageInfo.SectorsPerTrack = vHdr.spt; return true; } public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -251,10 +251,10 @@ namespace DiscImageChef.DiscImages ulong index = (sectorAddress * vHdr.sectorSize) / vHdr.blockSize; ulong secOff = (sectorAddress * vHdr.sectorSize) % vHdr.blockSize; - uint ibmOff = IBM[index]; + uint ibmOff = ibm[index]; ulong imageOff; - if(ibmOff == VDIEmpty) return new byte[vHdr.sectorSize]; + if(ibmOff == VDI_EMPTY) return new byte[vHdr.sectorSize]; imageOff = vHdr.offsetData + (ibmOff * vHdr.blockSize); @@ -264,7 +264,7 @@ namespace DiscImageChef.DiscImages sector = new byte[vHdr.sectorSize]; Array.Copy(cluster, (int)secOff, sector, 0, vHdr.sectorSize); - if(sectorCache.Count > maxCachedSectors) sectorCache.Clear(); + if(sectorCache.Count > MAX_CACHED_SECTORS) sectorCache.Clear(); sectorCache.Add(sectorAddress, sector); @@ -273,15 +273,15 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), string .Format("Requested more sectors ({0} + {1}) than available ({2})", - sectorAddress, length, ImageInfo.sectors)); + sectorAddress, length, ImageInfo.Sectors)); MemoryStream ms = new MemoryStream(); @@ -301,17 +301,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -321,47 +321,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -505,18 +505,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/VHD.cs b/DiscImageChef.DiscImages/VHD.cs index 8802d9eb6..b0febca7d 100644 --- a/DiscImageChef.DiscImages/VHD.cs +++ b/DiscImageChef.DiscImages/VHD.cs @@ -39,86 +39,87 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { + /// <inheritdoc /> /// <summary> /// Supports Connectix/Microsoft Virtual PC hard disk image format /// Until Virtual PC 5 there existed no format, and the hard disk image was /// merely a sector by sector (RAW) image with a resource fork giving /// information to Virtual PC itself. /// </summary> - public class VHD : ImagePlugin + public class Vhd : ImagePlugin { #region Internal Structures struct HardDiskFooter { /// <summary> - /// Offset 0x00, File magic number, <see cref="ImageCookie"/> + /// Offset 0x00, File magic number, <see cref="Vhd.IMAGE_COOKIE"/> /// </summary> - public ulong cookie; + public ulong Cookie; /// <summary> /// Offset 0x08, Specific feature support /// </summary> - public uint features; + public uint Features; /// <summary> /// Offset 0x0C, File format version /// </summary> - public uint version; + public uint Version; /// <summary> /// Offset 0x10, Offset from beginning of file to next structure /// </summary> - public ulong offset; + public ulong Offset; /// <summary> /// Offset 0x18, Creation date seconds since 2000/01/01 00:00:00 UTC /// </summary> - public uint timestamp; + public uint Timestamp; /// <summary> /// Offset 0x1C, Application that created this disk image /// </summary> - public uint creatorApplication; + public uint CreatorApplication; /// <summary> /// Offset 0x20, Version of the application that created this disk image /// </summary> - public uint creatorVersion; + public uint CreatorVersion; /// <summary> /// Offset 0x24, Host operating system of the application that created this disk image /// </summary> - public uint creatorHostOS; + public uint CreatorHostOs; /// <summary> /// Offset 0x28, Original hard disk size, in bytes /// </summary> - public ulong originalSize; + public ulong OriginalSize; /// <summary> /// Offset 0x30, Current hard disk size, in bytes /// </summary> - public ulong currentSize; + public ulong CurrentSize; /// <summary> /// Offset 0x38, CHS geometry /// Cylinder mask = 0xFFFF0000 /// Heads mask = 0x0000FF00 /// Sectors mask = 0x000000FF /// </summary> - public uint diskGeometry; + public uint DiskGeometry; /// <summary> /// Offset 0x3C, Disk image type /// </summary> - public uint diskType; + public uint DiskType; /// <summary> /// Offset 0x40, Checksum for this structure /// </summary> - public uint checksum; + public uint Checksum; /// <summary> /// Offset 0x44, UUID, used to associate parent with differencing disk images /// </summary> - public Guid uniqueId; + public Guid UniqueId; /// <summary> /// Offset 0x54, If set, system is saved, so compaction and expansion cannot be performed /// </summary> - public byte savedState; + public byte SavedState; /// <summary> /// Offset 0x55, 427 bytes reserved, should contain zeros. /// </summary> - public byte[] reserved; + public byte[] Reserved; } struct ParentLocatorEntry @@ -126,85 +127,85 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// Offset 0x00, Describes the platform specific type this entry belongs to /// </summary> - public uint platformCode; + public uint PlatformCode; /// <summary> /// Offset 0x04, Describes the number of 512 bytes sectors used by this entry /// </summary> - public uint platformDataSpace; + public uint PlatformDataSpace; /// <summary> /// Offset 0x08, Describes this entry's size in bytes /// </summary> - public uint platformDataLength; + public uint PlatformDataLength; /// <summary> /// Offset 0x0c, Reserved /// </summary> - public uint reserved; + public uint Reserved; /// <summary> /// Offset 0x10, Offset on disk image this entry resides on /// </summary> - public ulong platformDataOffset; + public ulong PlatformDataOffset; } struct DynamicDiskHeader { /// <summary> - /// Offset 0x00, Header magic, <see cref="DynamicCookie"/> + /// Offset 0x00, Header magic, <see cref="Vhd.DYNAMIC_COOKIE"/> /// </summary> - public ulong cookie; + public ulong Cookie; /// <summary> /// Offset 0x08, Offset to next structure on disk image. /// Currently unused, 0xFFFFFFFF /// </summary> - public ulong dataOffset; + public ulong DataOffset; /// <summary> /// Offset 0x10, Offset of the Block Allocation Table (BAT) /// </summary> - public ulong tableOffset; + public ulong TableOffset; /// <summary> /// Offset 0x18, Version of this header /// </summary> - public uint headerVersion; + public uint HeaderVersion; /// <summary> /// Offset 0x1C, Maximum entries present in the BAT /// </summary> - public uint maxTableEntries; + public uint MaxTableEntries; /// <summary> /// Offset 0x20, Size of a block in bytes /// Should always be a power of two of 512 /// </summary> - public uint blockSize; + public uint BlockSize; /// <summary> /// Offset 0x24, Checksum of this header /// </summary> - public uint checksum; + public uint Checksum; /// <summary> /// Offset 0x28, UUID of parent disk image for differencing type /// </summary> - public Guid parentID; + public Guid ParentId; /// <summary> /// Offset 0x38, Timestamp of parent disk image /// </summary> - public uint parentTimestamp; + public uint ParentTimestamp; /// <summary> /// Offset 0x3C, Reserved /// </summary> - public uint reserved; + public uint Reserved; /// <summary> /// Offset 0x40, 512 bytes UTF-16 of parent disk image filename /// </summary> - public string parentName; + public string ParentName; /// <summary> /// Offset 0x240, Parent disk image locator entry, <see cref="ParentLocatorEntry"/> /// </summary> - public ParentLocatorEntry[] locatorEntries; + public ParentLocatorEntry[] LocatorEntries; /// <summary> /// Offset 0x300, 256 reserved bytes /// </summary> - public byte[] reserved2; + public byte[] Reserved2; } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct BATSector + struct BatSector { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)] public uint[] blockPointer; } @@ -214,134 +215,134 @@ namespace DiscImageChef.ImagePlugins /// <summary> /// File magic number, "conectix" /// </summary> - const ulong ImageCookie = 0x636F6E6563746978; + const ulong IMAGE_COOKIE = 0x636F6E6563746978; /// <summary> /// Dynamic disk header magic, "cxsparse" /// </summary> - const ulong DynamicCookie = 0x6378737061727365; + const ulong DYNAMIC_COOKIE = 0x6378737061727365; /// <summary> /// Disk image is candidate for deletion on shutdown /// </summary> - const uint FeaturesTemporary = 0x00000001; + const uint FEATURES_TEMPORARY = 0x00000001; /// <summary> /// Unknown, set from Virtual PC for Mac 7 onwards /// </summary> - const uint FeaturesReserved = 0x00000002; + const uint FEATURES_RESERVED = 0x00000002; /// <summary> /// Unknown /// </summary> - const uint FeaturesUnknown = 0x00000100; + const uint FEATURES_UNKNOWN = 0x00000100; /// <summary> /// Only known version /// </summary> - const uint Version1 = 0x00010000; + const uint VERSION1 = 0x00010000; /// <summary> /// Created by Virtual PC, "vpc " /// </summary> - const uint CreatorVirtualPC = 0x76706320; + const uint CREATOR_VIRTUAL_PC = 0x76706320; /// <summary> /// Created by Virtual Server, "vs " /// </summary> - const uint CreatorVirtualServer = 0x76732020; + const uint CREATOR_VIRTUAL_SERVER = 0x76732020; /// <summary> /// Created by QEMU, "qemu" /// </summary> - const uint CreatorQEMU = 0x71656D75; + const uint CREATOR_QEMU = 0x71656D75; /// <summary> /// Created by VirtualBox, "vbox" /// </summary> - const uint CreatorVirtualBox = 0x76626F78; + const uint CREATOR_VIRTUAL_BOX = 0x76626F78; /// <summary> /// Disk image created by Virtual Server 2004 /// </summary> - const uint VersionVirtualServer2004 = 0x00010000; + const uint VERSION_VIRTUAL_SERVER2004 = 0x00010000; /// <summary> /// Disk image created by Virtual PC 2004 /// </summary> - const uint VersionVirtualPC2004 = 0x00050000; + const uint VERSION_VIRTUAL_PC2004 = 0x00050000; /// <summary> /// Disk image created by Virtual PC 2007 /// </summary> - const uint VersionVirtualPC2007 = 0x00050003; + const uint VERSION_VIRTUAL_PC2007 = 0x00050003; /// <summary> /// Disk image created by Virtual PC for Mac 5, 6 or 7 /// </summary> - const uint VersionVirtualPCMac = 0x00040000; + const uint VERSION_VIRTUAL_PC_MAC = 0x00040000; /// <summary> /// Disk image created in Windows, "Wi2k" /// </summary> - const uint CreatorWindows = 0x5769326B; + const uint CREATOR_WINDOWS = 0x5769326B; /// <summary> /// Disk image created in Macintosh, "Mac " /// </summary> - const uint CreatorMacintosh = 0x4D616320; + const uint CREATOR_MACINTOSH = 0x4D616320; /// <summary> /// Seen in Virtual PC for Mac for dynamic and fixed images /// </summary> - const uint CreatorMacintoshOld = 0x00000000; + const uint CREATOR_MACINTOSH_OLD = 0x00000000; /// <summary> /// Disk image type is none, useless? /// </summary> - const uint typeNone = 0; + const uint TYPE_NONE = 0; /// <summary> /// Deprecated disk image type /// </summary> - const uint typeDeprecated1 = 1; + const uint TYPE_DEPRECATED1 = 1; /// <summary> /// Fixed disk image type /// </summary> - const uint typeFixed = 2; + const uint TYPE_FIXED = 2; /// <summary> /// Dynamic disk image type /// </summary> - const uint typeDynamic = 3; + const uint TYPE_DYNAMIC = 3; /// <summary> /// Differencing disk image type /// </summary> - const uint typeDifferencing = 4; + const uint TYPE_DIFFERENCING = 4; /// <summary> /// Deprecated disk image type /// </summary> - const uint typeDeprecated2 = 5; + const uint TYPE_DEPRECATED2 = 5; /// <summary> /// Deprecated disk image type /// </summary> - const uint typeDeprecated3 = 6; + const uint TYPE_DEPRECATED3 = 6; /// <summary> /// Means platform locator is unused /// </summary> - const uint platformCodeUnused = 0x00000000; + const uint PLATFORM_CODE_UNUSED = 0x00000000; /// <summary> /// Stores a relative path string for Windows, unknown locale used, deprecated, "Wi2r" /// </summary> - const uint platformCodeWindowsRelative = 0x57693272; + const uint PLATFORM_CODE_WINDOWS_RELATIVE = 0x57693272; /// <summary> /// Stores an absolute path string for Windows, unknown locale used, deprecated, "Wi2k" /// </summary> - const uint platformCodeWindowsAbsolute = 0x5769326B; + const uint PLATFORM_CODE_WINDOWS_ABSOLUTE = 0x5769326B; /// <summary> /// Stores a relative path string for Windows in UTF-16, "W2ru" /// </summary> - const uint platformCodeWindowsRelativeU = 0x57327275; + const uint PLATFORM_CODE_WINDOWS_RELATIVE_U = 0x57327275; /// <summary> /// Stores an absolute path string for Windows in UTF-16, "W2ku" /// </summary> - const uint platformCodeWindowsAbsoluteU = 0x57326B75; + const uint PLATFORM_CODE_WINDOWS_ABSOLUTE_U = 0x57326B75; /// <summary> /// Stores a Mac OS alias as a blob, "Mac " /// </summary> - const uint platformCodeMacintoshAlias = 0x4D616320; + const uint PLATFORM_CODE_MACINTOSH_ALIAS = 0x4D616320; /// <summary> /// Stores a Mac OS X URI (RFC-2396) absolute path in UTF-8, "MacX" /// </summary> - const uint platformCodeMacintoshURI = 0x4D616358; + const uint PLATFORM_CODE_MACINTOSH_URI = 0x4D616358; #endregion #region Internal variables @@ -356,31 +357,31 @@ namespace DiscImageChef.ImagePlugins ImagePlugin parentImage; #endregion - public VHD() + public Vhd() { Name = "VirtualPC"; - PluginUUID = new Guid("8014d88f-64cd-4484-9441-7635c632958a"); + PluginUuid = new Guid("8014d88f-64cd-4484-9441-7635c632958a"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } #region public methods @@ -404,7 +405,7 @@ namespace DiscImageChef.ImagePlugins headerCookie = BigEndianBitConverter.ToUInt64(headerCookieBytes, 0); footerCookie = BigEndianBitConverter.ToUInt64(footerCookieBytes, 0); - return (headerCookie == ImageCookie || footerCookie == ImageCookie); + return (headerCookie == IMAGE_COOKIE || footerCookie == IMAGE_COOKIE); } public override bool OpenImage(Filter imageFilter) @@ -445,8 +446,8 @@ namespace DiscImageChef.ImagePlugins footer[0x42] = 0; footer[0x43] = 0; - uint headerCalculatedChecksum = VHDChecksum(header); - uint footerCalculatedChecksum = VHDChecksum(footer); + uint headerCalculatedChecksum = VhdChecksum(header); + uint footerCalculatedChecksum = VhdChecksum(footer); DicConsole.DebugWriteLine("VirtualPC plugin", "Header checksum = 0x{0:X8}, calculated = 0x{1:X8}", headerChecksum, headerCalculatedChecksum); @@ -456,12 +457,12 @@ namespace DiscImageChef.ImagePlugins byte[] usableHeader; uint usableChecksum; - if(headerCookie == ImageCookie && headerChecksum == headerCalculatedChecksum) + if(headerCookie == IMAGE_COOKIE && headerChecksum == headerCalculatedChecksum) { usableHeader = header; usableChecksum = headerChecksum; } - else if(footerCookie == ImageCookie && footerChecksum == footerCalculatedChecksum) + else if(footerCookie == IMAGE_COOKIE && footerChecksum == footerCalculatedChecksum) { usableHeader = footer; usableChecksum = footerChecksum; @@ -471,163 +472,163 @@ namespace DiscImageChef.ImagePlugins ImageNotSupportedException("(VirtualPC plugin): Both header and footer are corrupt, image cannot be opened."); thisFooter = new HardDiskFooter(); - thisFooter.cookie = BigEndianBitConverter.ToUInt64(usableHeader, 0x00); - thisFooter.features = BigEndianBitConverter.ToUInt32(usableHeader, 0x08); - thisFooter.version = BigEndianBitConverter.ToUInt32(usableHeader, 0x0C); - thisFooter.offset = BigEndianBitConverter.ToUInt64(usableHeader, 0x10); - thisFooter.timestamp = BigEndianBitConverter.ToUInt32(usableHeader, 0x18); - thisFooter.creatorApplication = BigEndianBitConverter.ToUInt32(usableHeader, 0x1C); - thisFooter.creatorVersion = BigEndianBitConverter.ToUInt32(usableHeader, 0x20); - thisFooter.creatorHostOS = BigEndianBitConverter.ToUInt32(usableHeader, 0x24); - thisFooter.originalSize = BigEndianBitConverter.ToUInt64(usableHeader, 0x28); - thisFooter.currentSize = BigEndianBitConverter.ToUInt64(usableHeader, 0x30); - thisFooter.diskGeometry = BigEndianBitConverter.ToUInt32(usableHeader, 0x38); - thisFooter.diskType = BigEndianBitConverter.ToUInt32(usableHeader, 0x3C); - thisFooter.checksum = usableChecksum; - thisFooter.uniqueId = BigEndianBitConverter.ToGuid(usableHeader, 0x44); - thisFooter.savedState = usableHeader[0x54]; - thisFooter.reserved = new byte[usableHeader.Length - 0x55]; - Array.Copy(usableHeader, 0x55, thisFooter.reserved, 0, (usableHeader.Length - 0x55)); + thisFooter.Cookie = BigEndianBitConverter.ToUInt64(usableHeader, 0x00); + thisFooter.Features = BigEndianBitConverter.ToUInt32(usableHeader, 0x08); + thisFooter.Version = BigEndianBitConverter.ToUInt32(usableHeader, 0x0C); + thisFooter.Offset = BigEndianBitConverter.ToUInt64(usableHeader, 0x10); + thisFooter.Timestamp = BigEndianBitConverter.ToUInt32(usableHeader, 0x18); + thisFooter.CreatorApplication = BigEndianBitConverter.ToUInt32(usableHeader, 0x1C); + thisFooter.CreatorVersion = BigEndianBitConverter.ToUInt32(usableHeader, 0x20); + thisFooter.CreatorHostOs = BigEndianBitConverter.ToUInt32(usableHeader, 0x24); + thisFooter.OriginalSize = BigEndianBitConverter.ToUInt64(usableHeader, 0x28); + thisFooter.CurrentSize = BigEndianBitConverter.ToUInt64(usableHeader, 0x30); + thisFooter.DiskGeometry = BigEndianBitConverter.ToUInt32(usableHeader, 0x38); + thisFooter.DiskType = BigEndianBitConverter.ToUInt32(usableHeader, 0x3C); + thisFooter.Checksum = usableChecksum; + thisFooter.UniqueId = BigEndianBitConverter.ToGuid(usableHeader, 0x44); + thisFooter.SavedState = usableHeader[0x54]; + thisFooter.Reserved = new byte[usableHeader.Length - 0x55]; + Array.Copy(usableHeader, 0x55, thisFooter.Reserved, 0, (usableHeader.Length - 0x55)); thisDateTime = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc); - thisDateTime = thisDateTime.AddSeconds(thisFooter.timestamp); + thisDateTime = thisDateTime.AddSeconds(thisFooter.Timestamp); - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); - sha1Ctx.Update(thisFooter.reserved); + sha1Ctx.Update(thisFooter.Reserved); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.cookie = 0x{0:X8}", thisFooter.cookie); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.features = 0x{0:X8}", thisFooter.features); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.version = 0x{0:X8}", thisFooter.version); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.offset = {0}", thisFooter.offset); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.timestamp = 0x{0:X8} ({1})", thisFooter.timestamp, + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.cookie = 0x{0:X8}", thisFooter.Cookie); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.features = 0x{0:X8}", thisFooter.Features); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.version = 0x{0:X8}", thisFooter.Version); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.offset = {0}", thisFooter.Offset); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.timestamp = 0x{0:X8} ({1})", thisFooter.Timestamp, thisDateTime); DicConsole.DebugWriteLine("VirtualPC plugin", "footer.creatorApplication = 0x{0:X8} (\"{1}\")", - thisFooter.creatorApplication, + thisFooter.CreatorApplication, Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(thisFooter - .creatorApplication))); + .CreatorApplication))); DicConsole.DebugWriteLine("VirtualPC plugin", "footer.creatorVersion = 0x{0:X8}", - thisFooter.creatorVersion); + thisFooter.CreatorVersion); DicConsole.DebugWriteLine("VirtualPC plugin", "footer.creatorHostOS = 0x{0:X8} (\"{1}\")", - thisFooter.creatorHostOS, + thisFooter.CreatorHostOs, Encoding.ASCII.GetString(BigEndianBitConverter - .GetBytes(thisFooter.creatorHostOS))); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.originalSize = {0}", thisFooter.originalSize); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.currentSize = {0}", thisFooter.currentSize); + .GetBytes(thisFooter.CreatorHostOs))); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.originalSize = {0}", thisFooter.OriginalSize); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.currentSize = {0}", thisFooter.CurrentSize); DicConsole.DebugWriteLine("VirtualPC plugin", "footer.diskGeometry = 0x{0:X8} (C/H/S: {1}/{2}/{3})", - thisFooter.diskGeometry, (thisFooter.diskGeometry & 0xFFFF0000) >> 16, - (thisFooter.diskGeometry & 0xFF00) >> 8, (thisFooter.diskGeometry & 0xFF)); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.diskType = 0x{0:X8}", thisFooter.diskType); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.checksum = 0x{0:X8}", thisFooter.checksum); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.uniqueId = {0}", thisFooter.uniqueId); - DicConsole.DebugWriteLine("VirtualPC plugin", "footer.savedState = 0x{0:X2}", thisFooter.savedState); + thisFooter.DiskGeometry, (thisFooter.DiskGeometry & 0xFFFF0000) >> 16, + (thisFooter.DiskGeometry & 0xFF00) >> 8, (thisFooter.DiskGeometry & 0xFF)); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.diskType = 0x{0:X8}", thisFooter.DiskType); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.checksum = 0x{0:X8}", thisFooter.Checksum); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.uniqueId = {0}", thisFooter.UniqueId); + DicConsole.DebugWriteLine("VirtualPC plugin", "footer.savedState = 0x{0:X2}", thisFooter.SavedState); DicConsole.DebugWriteLine("VirtualPC plugin", "footer.reserved's SHA1 = 0x{0}", sha1Ctx.End()); - if(thisFooter.version == Version1) ImageInfo.imageVersion = "1.0"; + if(thisFooter.Version == VERSION1) ImageInfo.ImageVersion = "1.0"; else throw new ImageNotSupportedException(string.Format("(VirtualPC plugin): Unknown image type {0} found. Please submit a bug with an example image.", - thisFooter.diskType)); + thisFooter.DiskType)); - switch(thisFooter.creatorApplication) + switch(thisFooter.CreatorApplication) { - case CreatorQEMU: + case CREATOR_QEMU: { - ImageInfo.imageApplication = "QEMU"; + ImageInfo.ImageApplication = "QEMU"; // QEMU always set same version - ImageInfo.imageApplicationVersion = "Unknown"; + ImageInfo.ImageApplicationVersion = "Unknown"; break; } - case CreatorVirtualBox: + case CREATOR_VIRTUAL_BOX: { - ImageInfo.imageApplicationVersion = string.Format("{0}.{1:D2}", - (thisFooter.creatorVersion & 0xFFFF0000) >> 16, - (thisFooter.creatorVersion & 0x0000FFFF)); - switch(thisFooter.creatorHostOS) + ImageInfo.ImageApplicationVersion = string.Format("{0}.{1:D2}", + (thisFooter.CreatorVersion & 0xFFFF0000) >> 16, + (thisFooter.CreatorVersion & 0x0000FFFF)); + switch(thisFooter.CreatorHostOs) { - case CreatorMacintosh: - case CreatorMacintoshOld: - ImageInfo.imageApplication = "VirtualBox for Mac"; + case CREATOR_MACINTOSH: + case CREATOR_MACINTOSH_OLD: + ImageInfo.ImageApplication = "VirtualBox for Mac"; break; - case CreatorWindows: + case CREATOR_WINDOWS: // VirtualBox uses Windows creator for any other OS - ImageInfo.imageApplication = "VirtualBox"; + ImageInfo.ImageApplication = "VirtualBox"; break; default: - ImageInfo.imageApplication = string.Format("VirtualBox for unknown OS \"{0}\"", + ImageInfo.ImageApplication = string.Format("VirtualBox for unknown OS \"{0}\"", Encoding.ASCII.GetString(BigEndianBitConverter .GetBytes(thisFooter - .creatorHostOS))); + .CreatorHostOs))); break; } break; } - case CreatorVirtualServer: + case CREATOR_VIRTUAL_SERVER: { - ImageInfo.imageApplication = "Microsoft Virtual Server"; - switch(thisFooter.creatorVersion) + ImageInfo.ImageApplication = "Microsoft Virtual Server"; + switch(thisFooter.CreatorVersion) { - case VersionVirtualServer2004: - ImageInfo.imageApplicationVersion = "2004"; + case VERSION_VIRTUAL_SERVER2004: + ImageInfo.ImageApplicationVersion = "2004"; break; default: - ImageInfo.imageApplicationVersion = - string.Format("Unknown version 0x{0:X8}", thisFooter.creatorVersion); + ImageInfo.ImageApplicationVersion = + string.Format("Unknown version 0x{0:X8}", thisFooter.CreatorVersion); break; } break; } - case CreatorVirtualPC: + case CREATOR_VIRTUAL_PC: { - switch(thisFooter.creatorHostOS) + switch(thisFooter.CreatorHostOs) { - case CreatorMacintosh: - case CreatorMacintoshOld: - switch(thisFooter.creatorVersion) + case CREATOR_MACINTOSH: + case CREATOR_MACINTOSH_OLD: + switch(thisFooter.CreatorVersion) { - case VersionVirtualPCMac: - ImageInfo.imageApplication = "Connectix Virtual PC"; - ImageInfo.imageApplicationVersion = "5, 6 or 7"; + case VERSION_VIRTUAL_PC_MAC: + ImageInfo.ImageApplication = "Connectix Virtual PC"; + ImageInfo.ImageApplicationVersion = "5, 6 or 7"; break; default: - ImageInfo.imageApplicationVersion = - string.Format("Unknown version 0x{0:X8}", thisFooter.creatorVersion); + ImageInfo.ImageApplicationVersion = + string.Format("Unknown version 0x{0:X8}", thisFooter.CreatorVersion); break; } break; - case CreatorWindows: - switch(thisFooter.creatorVersion) + case CREATOR_WINDOWS: + switch(thisFooter.CreatorVersion) { - case VersionVirtualPCMac: - ImageInfo.imageApplication = "Connectix Virtual PC"; - ImageInfo.imageApplicationVersion = "5, 6 or 7"; + case VERSION_VIRTUAL_PC_MAC: + ImageInfo.ImageApplication = "Connectix Virtual PC"; + ImageInfo.ImageApplicationVersion = "5, 6 or 7"; break; - case VersionVirtualPC2004: - ImageInfo.imageApplication = "Microsoft Virtual PC"; - ImageInfo.imageApplicationVersion = "2004"; + case VERSION_VIRTUAL_PC2004: + ImageInfo.ImageApplication = "Microsoft Virtual PC"; + ImageInfo.ImageApplicationVersion = "2004"; break; - case VersionVirtualPC2007: - ImageInfo.imageApplication = "Microsoft Virtual PC"; - ImageInfo.imageApplicationVersion = "2007"; + case VERSION_VIRTUAL_PC2007: + ImageInfo.ImageApplication = "Microsoft Virtual PC"; + ImageInfo.ImageApplicationVersion = "2007"; break; default: - ImageInfo.imageApplicationVersion = - string.Format("Unknown version 0x{0:X8}", thisFooter.creatorVersion); + ImageInfo.ImageApplicationVersion = + string.Format("Unknown version 0x{0:X8}", thisFooter.CreatorVersion); break; } break; default: - ImageInfo.imageApplication = string.Format("Virtual PC for unknown OS \"{0}\"", + ImageInfo.ImageApplication = string.Format("Virtual PC for unknown OS \"{0}\"", Encoding.ASCII.GetString(BigEndianBitConverter .GetBytes(thisFooter - .creatorHostOS))); - ImageInfo.imageApplicationVersion = - string.Format("Unknown version 0x{0:X8}", thisFooter.creatorVersion); + .CreatorHostOs))); + ImageInfo.ImageApplicationVersion = + string.Format("Unknown version 0x{0:X8}", thisFooter.CreatorVersion); break; } @@ -635,32 +636,32 @@ namespace DiscImageChef.ImagePlugins } default: { - ImageInfo.imageApplication = string.Format("Unknown application \"{0}\"", + ImageInfo.ImageApplication = string.Format("Unknown application \"{0}\"", Encoding.ASCII.GetString(BigEndianBitConverter .GetBytes(thisFooter - .creatorHostOS))); - ImageInfo.imageApplicationVersion = - string.Format("Unknown version 0x{0:X8}", thisFooter.creatorVersion); + .CreatorHostOs))); + ImageInfo.ImageApplicationVersion = + string.Format("Unknown version 0x{0:X8}", thisFooter.CreatorVersion); break; } } thisFilter = imageFilter; - ImageInfo.imageSize = thisFooter.currentSize; - ImageInfo.sectors = thisFooter.currentSize / 512; - ImageInfo.sectorSize = 512; + ImageInfo.ImageSize = thisFooter.CurrentSize; + ImageInfo.Sectors = thisFooter.CurrentSize / 512; + ImageInfo.SectorSize = 512; - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = thisDateTime; - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = thisDateTime; + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.cylinders = (thisFooter.diskGeometry & 0xFFFF0000) >> 16; - ImageInfo.heads = (thisFooter.diskGeometry & 0xFF00) >> 8; - ImageInfo.sectorsPerTrack = (thisFooter.diskGeometry & 0xFF); + ImageInfo.Cylinders = (thisFooter.DiskGeometry & 0xFFFF0000) >> 16; + ImageInfo.Heads = (thisFooter.DiskGeometry & 0xFF00) >> 8; + ImageInfo.SectorsPerTrack = (thisFooter.DiskGeometry & 0xFF); - if(thisFooter.diskType == typeDynamic || thisFooter.diskType == typeDifferencing) + if(thisFooter.DiskType == TYPE_DYNAMIC || thisFooter.DiskType == TYPE_DIFFERENCING) { - imageStream.Seek((long)thisFooter.offset, SeekOrigin.Begin); + imageStream.Seek((long)thisFooter.Offset, SeekOrigin.Begin); byte[] dynamicBytes = new byte[1024]; imageStream.Read(dynamicBytes, 0, 1024); @@ -671,7 +672,7 @@ namespace DiscImageChef.ImagePlugins dynamicBytes[0x26] = 0; dynamicBytes[0x27] = 0; - uint dynamicChecksumCalculated = VHDChecksum(dynamicBytes); + uint dynamicChecksumCalculated = VhdChecksum(dynamicBytes); DicConsole.DebugWriteLine("VirtualPC plugin", "Dynamic header checksum = 0x{0:X8}, calculated = 0x{1:X8}", dynamicChecksum, @@ -682,91 +683,91 @@ namespace DiscImageChef.ImagePlugins ImageNotSupportedException("(VirtualPC plugin): Both header and footer are corrupt, image cannot be opened."); thisDynamic = new DynamicDiskHeader(); - thisDynamic.locatorEntries = new ParentLocatorEntry[8]; - thisDynamic.reserved2 = new byte[256]; + thisDynamic.LocatorEntries = new ParentLocatorEntry[8]; + thisDynamic.Reserved2 = new byte[256]; - for(int i = 0; i < 8; i++) thisDynamic.locatorEntries[i] = new ParentLocatorEntry(); + for(int i = 0; i < 8; i++) thisDynamic.LocatorEntries[i] = new ParentLocatorEntry(); - thisDynamic.cookie = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x00); - thisDynamic.dataOffset = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x08); - thisDynamic.tableOffset = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x10); - thisDynamic.headerVersion = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x18); - thisDynamic.maxTableEntries = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x1C); - thisDynamic.blockSize = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x20); - thisDynamic.checksum = dynamicChecksum; - thisDynamic.parentID = BigEndianBitConverter.ToGuid(dynamicBytes, 0x28); - thisDynamic.parentTimestamp = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x38); - thisDynamic.reserved = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x3C); - thisDynamic.parentName = Encoding.BigEndianUnicode.GetString(dynamicBytes, 0x40, 512); + thisDynamic.Cookie = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x00); + thisDynamic.DataOffset = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x08); + thisDynamic.TableOffset = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x10); + thisDynamic.HeaderVersion = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x18); + thisDynamic.MaxTableEntries = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x1C); + thisDynamic.BlockSize = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x20); + thisDynamic.Checksum = dynamicChecksum; + thisDynamic.ParentId = BigEndianBitConverter.ToGuid(dynamicBytes, 0x28); + thisDynamic.ParentTimestamp = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x38); + thisDynamic.Reserved = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x3C); + thisDynamic.ParentName = Encoding.BigEndianUnicode.GetString(dynamicBytes, 0x40, 512); for(int i = 0; i < 8; i++) { - thisDynamic.locatorEntries[i].platformCode = + thisDynamic.LocatorEntries[i].PlatformCode = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x240 + 0x00 + 24 * i); - thisDynamic.locatorEntries[i].platformDataSpace = + thisDynamic.LocatorEntries[i].PlatformDataSpace = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x240 + 0x04 + 24 * i); - thisDynamic.locatorEntries[i].platformDataLength = + thisDynamic.LocatorEntries[i].PlatformDataLength = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x240 + 0x08 + 24 * i); - thisDynamic.locatorEntries[i].reserved = + thisDynamic.LocatorEntries[i].Reserved = BigEndianBitConverter.ToUInt32(dynamicBytes, 0x240 + 0x0C + 24 * i); - thisDynamic.locatorEntries[i].platformDataOffset = + thisDynamic.LocatorEntries[i].PlatformDataOffset = BigEndianBitConverter.ToUInt64(dynamicBytes, 0x240 + 0x10 + 24 * i); } - Array.Copy(dynamicBytes, 0x300, thisDynamic.reserved2, 0, 256); + Array.Copy(dynamicBytes, 0x300, thisDynamic.Reserved2, 0, 256); parentDateTime = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc); - parentDateTime = parentDateTime.AddSeconds(thisDynamic.parentTimestamp); + parentDateTime = parentDateTime.AddSeconds(thisDynamic.ParentTimestamp); - sha1Ctx = new Checksums.SHA1Context(); + sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); - sha1Ctx.Update(thisDynamic.reserved2); + sha1Ctx.Update(thisDynamic.Reserved2); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.cookie = 0x{0:X8}", thisDynamic.cookie); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.dataOffset = {0}", thisDynamic.dataOffset); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.tableOffset = {0}", thisDynamic.tableOffset); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.cookie = 0x{0:X8}", thisDynamic.Cookie); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.dataOffset = {0}", thisDynamic.DataOffset); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.tableOffset = {0}", thisDynamic.TableOffset); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.headerVersion = 0x{0:X8}", - thisDynamic.headerVersion); + thisDynamic.HeaderVersion); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.maxTableEntries = {0}", - thisDynamic.maxTableEntries); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.blockSize = {0}", thisDynamic.blockSize); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.checksum = 0x{0:X8}", thisDynamic.checksum); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.parentID = {0}", thisDynamic.parentID); + thisDynamic.MaxTableEntries); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.blockSize = {0}", thisDynamic.BlockSize); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.checksum = 0x{0:X8}", thisDynamic.Checksum); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.parentID = {0}", thisDynamic.ParentId); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.parentTimestamp = 0x{0:X8} ({1})", - thisDynamic.parentTimestamp, parentDateTime); - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.reserved = 0x{0:X8}", thisDynamic.reserved); + thisDynamic.ParentTimestamp, parentDateTime); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.reserved = 0x{0:X8}", thisDynamic.Reserved); for(int i = 0; i < 8; i++) { DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}].platformCode = 0x{1:X8} (\"{2}\")", i, - thisDynamic.locatorEntries[i].platformCode, + thisDynamic.LocatorEntries[i].PlatformCode, Encoding.ASCII.GetString(BigEndianBitConverter.GetBytes(thisDynamic - .locatorEntries + .LocatorEntries [i] - .platformCode))); + .PlatformCode))); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}].platformDataSpace = {1}", - i, thisDynamic.locatorEntries[i].platformDataSpace); + i, thisDynamic.LocatorEntries[i].PlatformDataSpace); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}].platformDataLength = {1}", i, - thisDynamic.locatorEntries[i].platformDataLength); + thisDynamic.LocatorEntries[i].PlatformDataLength); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}].reserved = 0x{1:X8}", i, - thisDynamic.locatorEntries[i].reserved); + thisDynamic.LocatorEntries[i].Reserved); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}].platformDataOffset = {1}", i, - thisDynamic.locatorEntries[i].platformDataOffset); + thisDynamic.LocatorEntries[i].PlatformDataOffset); } - DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.parentName = \"{0}\"", thisDynamic.parentName); + DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.parentName = \"{0}\"", thisDynamic.ParentName); DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.reserved2's SHA1 = 0x{0}", sha1Ctx.End()); - if(thisDynamic.headerVersion != Version1) + if(thisDynamic.HeaderVersion != VERSION1) throw new ImageNotSupportedException(string.Format("(VirtualPC plugin): Unknown image type {0} found. Please submit a bug with an example image.", - thisFooter.diskType)); + thisFooter.DiskType)); DateTime startTime = DateTime.UtcNow; - blockAllocationTable = new uint[thisDynamic.maxTableEntries]; + blockAllocationTable = new uint[thisDynamic.MaxTableEntries]; // Safe and slow code. It takes 76,572 ms to fill a 30720 entries BAT /* @@ -781,20 +782,20 @@ namespace DiscImageChef.ImagePlugins */ // How many sectors uses the BAT - uint batSectorCount = (uint)Math.Ceiling(((double)thisDynamic.maxTableEntries * 4) / 512); + uint batSectorCount = (uint)Math.Ceiling(((double)thisDynamic.MaxTableEntries * 4) / 512); byte[] batSectorBytes = new byte[512]; - BATSector batSector = new BATSector(); + BatSector batSector = new BatSector(); // Unsafe and fast code. It takes 4 ms to fill a 30720 entries BAT for(int i = 0; i < batSectorCount; i++) { - imageStream.Seek((long)thisDynamic.tableOffset + i * 512, SeekOrigin.Begin); + imageStream.Seek((long)thisDynamic.TableOffset + i * 512, SeekOrigin.Begin); imageStream.Read(batSectorBytes, 0, 512); // This does the big-endian trick but reverses the order of elements also Array.Reverse(batSectorBytes); GCHandle handle = GCHandle.Alloc(batSectorBytes, GCHandleType.Pinned); - batSector = (BATSector)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(BATSector)); + batSector = (BatSector)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(BatSector)); handle.Free(); // This restores the order of elements Array.Reverse(batSector.blockPointer); @@ -818,7 +819,7 @@ namespace DiscImageChef.ImagePlugins // Get the roundest number of sectors needed to store the block bitmap bitmapSize = (uint)Math.Ceiling(( // How many sectors do a block store - ((double)thisDynamic.blockSize / 512) + ((double)thisDynamic.BlockSize / 512) // 1 bit per sector on the bitmap / 8 // and aligned to 512 byte boundary @@ -826,44 +827,44 @@ namespace DiscImageChef.ImagePlugins DicConsole.DebugWriteLine("VirtualPC plugin", "Bitmap is {0} sectors", bitmapSize); } - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; - switch(thisFooter.diskType) + switch(thisFooter.DiskType) { - case typeFixed: - case typeDynamic: + case TYPE_FIXED: + case TYPE_DYNAMIC: { // Nothing to do here, really. return true; } - case typeDifferencing: + case TYPE_DIFFERENCING: { locatorEntriesData = new byte[8][]; for(int i = 0; i < 8; i++) { - if(thisDynamic.locatorEntries[i].platformCode != 0x00000000) + if(thisDynamic.LocatorEntries[i].PlatformCode != 0x00000000) { - locatorEntriesData[i] = new byte[thisDynamic.locatorEntries[i].platformDataLength]; - imageStream.Seek((long)thisDynamic.locatorEntries[i].platformDataOffset, SeekOrigin.Begin); + locatorEntriesData[i] = new byte[thisDynamic.LocatorEntries[i].PlatformDataLength]; + imageStream.Seek((long)thisDynamic.LocatorEntries[i].PlatformDataOffset, SeekOrigin.Begin); imageStream.Read(locatorEntriesData[i], 0, - (int)thisDynamic.locatorEntries[i].platformDataLength); + (int)thisDynamic.LocatorEntries[i].PlatformDataLength); - switch(thisDynamic.locatorEntries[i].platformCode) + switch(thisDynamic.LocatorEntries[i].PlatformCode) { - case platformCodeWindowsAbsolute: - case platformCodeWindowsRelative: + case PLATFORM_CODE_WINDOWS_ABSOLUTE: + case PLATFORM_CODE_WINDOWS_RELATIVE: DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}] = \"{1}\"", i, Encoding.ASCII.GetString(locatorEntriesData[i])); break; - case platformCodeWindowsAbsoluteU: - case platformCodeWindowsRelativeU: + case PLATFORM_CODE_WINDOWS_ABSOLUTE_U: + case PLATFORM_CODE_WINDOWS_RELATIVE_U: DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}] = \"{1}\"", i, Encoding.BigEndianUnicode .GetString(locatorEntriesData[i])); break; - case platformCodeMacintoshURI: + case PLATFORM_CODE_MACINTOSH_URI: DicConsole.DebugWriteLine("VirtualPC plugin", "dynamic.locatorEntries[{0}] = \"{1}\"", i, Encoding.UTF8.GetString(locatorEntriesData[i])); @@ -883,17 +884,17 @@ namespace DiscImageChef.ImagePlugins while(!locatorFound && currentLocator < 8) { - switch(thisDynamic.locatorEntries[currentLocator].platformCode) + switch(thisDynamic.LocatorEntries[currentLocator].PlatformCode) { - case platformCodeWindowsAbsolute: - case platformCodeWindowsRelative: + case PLATFORM_CODE_WINDOWS_ABSOLUTE: + case PLATFORM_CODE_WINDOWS_RELATIVE: parentPath = Encoding.ASCII.GetString(locatorEntriesData[currentLocator]); break; - case platformCodeWindowsAbsoluteU: - case platformCodeWindowsRelativeU: + case PLATFORM_CODE_WINDOWS_ABSOLUTE_U: + case PLATFORM_CODE_WINDOWS_RELATIVE_U: parentPath = Encoding.BigEndianUnicode.GetString(locatorEntriesData[currentLocator]); break; - case platformCodeMacintoshURI: + case PLATFORM_CODE_MACINTOSH_URI: parentPath = Uri.UnescapeDataString(Encoding.UTF8.GetString(locatorEntriesData[currentLocator])); if(parentPath.StartsWith("file://localhost", StringComparison.InvariantCulture)) @@ -926,7 +927,7 @@ namespace DiscImageChef.ImagePlugins FileNotFoundException("(VirtualPC plugin): Cannot find parent file for differencing disk image"); else { - parentImage = new VHD(); + parentImage = new Vhd(); Filter parentFilter = new FiltersList().GetFilter(Path.Combine(imageFilter.GetParentFolder(), parentPath)); @@ -956,9 +957,9 @@ namespace DiscImageChef.ImagePlugins return true; } - case typeDeprecated1: - case typeDeprecated2: - case typeDeprecated3: + case TYPE_DEPRECATED1: + case TYPE_DEPRECATED2: + case TYPE_DEPRECATED3: { throw new ImageNotSupportedException("(VirtualPC plugin): Deprecated image type found. Please submit a bug with an example image."); @@ -967,7 +968,7 @@ namespace DiscImageChef.ImagePlugins { throw new ImageNotSupportedException(string.Format("(VirtualPC plugin): Unknown image type {0} found. Please submit a bug with an example image.", - thisFooter.diskType)); + thisFooter.DiskType)); } } } @@ -979,63 +980,63 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() { - switch(thisFooter.diskType) + switch(thisFooter.DiskType) { - case typeFixed: return "Virtual PC fixed size disk image"; - case typeDynamic: return "Virtual PC dynamic size disk image"; - case typeDifferencing: return "Virtual PC differencing disk image"; + case TYPE_FIXED: return "Virtual PC fixed size disk image"; + case TYPE_DYNAMIC: return "Virtual PC dynamic size disk image"; + case TYPE_DIFFERENCING: return "Virtual PC differencing disk image"; default: return "Virtual PC disk image"; } } public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() @@ -1045,14 +1046,14 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSector(ulong sectorAddress) { - switch(thisFooter.diskType) + switch(thisFooter.DiskType) { - case typeDifferencing: + case TYPE_DIFFERENCING: { // Block number for BAT searching - uint blockNumber = (uint)Math.Floor((double)(sectorAddress / (thisDynamic.blockSize / 512))); + uint blockNumber = (uint)Math.Floor((double)(sectorAddress / (thisDynamic.BlockSize / 512))); // Sector number inside of block - uint sectorInBlock = (uint)(sectorAddress % (thisDynamic.blockSize / 512)); + uint sectorInBlock = (uint)(sectorAddress % (thisDynamic.BlockSize / 512)); byte[] bitmap = new byte[bitmapSize * 512]; @@ -1113,9 +1114,9 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - switch(thisFooter.diskType) + switch(thisFooter.DiskType) { - case typeFixed: + case TYPE_FIXED: { Stream thisStream; @@ -1131,16 +1132,16 @@ namespace DiscImageChef.ImagePlugins // and in case of unused sector just return zeros, as blocks are allocated // as a whole, this would waste time and miss cache, so we read any sector // as long as it is in the block. - case typeDynamic: + case TYPE_DYNAMIC: { Stream thisStream; // Block number for BAT searching - uint blockNumber = (uint)Math.Floor((double)(sectorAddress / (thisDynamic.blockSize / 512))); + uint blockNumber = (uint)Math.Floor((double)(sectorAddress / (thisDynamic.BlockSize / 512))); // Sector number inside of block - uint sectorInBlock = (uint)(sectorAddress % (thisDynamic.blockSize / 512)); + uint sectorInBlock = (uint)(sectorAddress % (thisDynamic.BlockSize / 512)); // How many sectors before reaching end of block - uint remainingInBlock = (thisDynamic.blockSize / 512) - sectorInBlock; + uint remainingInBlock = (thisDynamic.BlockSize / 512) - sectorInBlock; // Data that can be read in this block byte[] prefix; @@ -1183,7 +1184,7 @@ namespace DiscImageChef.ImagePlugins return prefix; } - case typeDifferencing: + case TYPE_DIFFERENCING: { // As on differencing images, each independent sector can be read from child or parent // image, we must read sector one by one @@ -1196,9 +1197,9 @@ namespace DiscImageChef.ImagePlugins return fullData; } - case typeDeprecated1: - case typeDeprecated2: - case typeDeprecated3: + case TYPE_DEPRECATED1: + case TYPE_DEPRECATED2: + case TYPE_DEPRECATED3: { throw new ImageNotSupportedException("(VirtualPC plugin): Deprecated image type found. Please submit a bug with an example image."); @@ -1207,14 +1208,14 @@ namespace DiscImageChef.ImagePlugins { throw new ImageNotSupportedException(string.Format("(VirtualPC plugin): Unknown image type {0} found. Please submit a bug with an example image.", - thisFooter.diskType)); + thisFooter.DiskType)); } } } #endregion #region private methods - static uint VHDChecksum(byte[] data) + static uint VhdChecksum(byte[] data) { uint checksum = 0; foreach(byte b in data) checksum += b; @@ -1369,18 +1370,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/VHDX.cs b/DiscImageChef.DiscImages/VHDX.cs index f46868c84..2a8100377 100644 --- a/DiscImageChef.DiscImages/VHDX.cs +++ b/DiscImageChef.DiscImages/VHDX.cs @@ -39,16 +39,16 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { - public class VHDX : ImagePlugin + public class Vhdx : ImagePlugin { #region Internal Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXIdentifier + struct VhdxIdentifier { /// <summary> - /// Signature, <see cref="VHDXSignature"/> + /// Signature, <see cref="Vhdx.VHDX_SIGNATURE"/> /// </summary> public ulong signature; /// <summary> @@ -57,56 +57,56 @@ namespace DiscImageChef.ImagePlugins [MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)] public byte[] creator; } - struct VHDXHeader + struct VhdxHeader { /// <summary> - /// Signature, <see cref="VHDXHeaderSig"/> + /// Signature, <see cref="Vhdx.VHDX_HEADER_SIG"/> /// </summary> - public uint signature; + public uint Signature; /// <summary> /// CRC-32C of whole 4096 bytes header with this field set to 0 /// </summary> - public uint checksum; + public uint Checksum; /// <summary> /// Sequence number /// </summary> - public ulong sequence; + public ulong Sequence; /// <summary> /// Unique identifier for file contents, must be changed on first write to metadata /// </summary> - public Guid fileWriteGuid; + public Guid FileWriteGuid; /// <summary> /// Unique identifier for disk contents, must be changed on first write to metadata or data /// </summary> - public Guid dataWriteGuid; + public Guid DataWriteGuid; /// <summary> /// Unique identifier for log entries /// </summary> - public Guid logGuid; + public Guid LogGuid; /// <summary> /// Version of log format /// </summary> - public ushort logVersion; + public ushort LogVersion; /// <summary> /// Version of VHDX format /// </summary> - public ushort version; + public ushort Version; /// <summary> /// Length in bytes of the log /// </summary> - public uint logLength; + public uint LogLength; /// <summary> /// Offset from image start to the log /// </summary> - public ulong logOffset; - [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4016)] public byte[] reserved; + public ulong LogOffset; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4016)] public byte[] Reserved; } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXRegionTableHeader + struct VhdxRegionTableHeader { /// <summary> - /// Signature, <see cref="VHDXRegionSig"/> + /// Signature, <see cref="Vhdx.VHDX_REGION_SIG"/> /// </summary> public uint signature; /// <summary> @@ -124,7 +124,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXRegionTableEntry + struct VhdxRegionTableEntry { /// <summary> /// Object identifier @@ -145,7 +145,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXMetadataTableHeader + struct VhdxMetadataTableHeader { /// <summary> /// Signature @@ -166,7 +166,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXMetadataTableEntry + struct VhdxMetadataTableEntry { /// <summary> /// Metadata ID @@ -191,7 +191,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXFileParameters + struct VhdxFileParameters { /// <summary> /// Block size in bytes @@ -204,7 +204,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXParentLocatorHeader + struct VhdxParentLocatorHeader { /// <summary> /// Type of parent virtual disk @@ -218,7 +218,7 @@ namespace DiscImageChef.ImagePlugins } [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VHDXParentLocatorEntry + struct VhdxParentLocatorEntry { /// <summary> /// Offset from metadata to key @@ -240,71 +240,71 @@ namespace DiscImageChef.ImagePlugins #endregion #region Internal Constants - const ulong VHDXSignature = 0x656C696678646876; - const uint VHDXHeaderSig = 0x64616568; - const uint VHDXRegionSig = 0x69676572; - const ulong VHDXMetadataSig = 0x617461646174656D; - readonly Guid BATGuid = new Guid("2DC27766-F623-4200-9D64-115E9BFD4A08"); - readonly Guid MetadataGuid = new Guid("8B7CA206-4790-4B9A-B8FE-575F050F886E"); - readonly Guid FileParametersGuid = new Guid("CAA16737-FA36-4D43-B3B6-33F0AA44E76B"); - readonly Guid VirtualDiskSizeGuid = new Guid("2FA54224-CD1B-4876-B211-5DBED83BF4B8"); - readonly Guid Page83DataGuid = new Guid("BECA12AB-B2E6-4523-93EF-C309E000C746"); - readonly Guid LogicalSectorSizeGuid = new Guid("8141BF1D-A96F-4709-BA47-F233A8FAAB5F"); - readonly Guid PhysicalSectorSizeGuid = new Guid("CDA348C7-445D-4471-9CC9-E9885251C556"); - readonly Guid ParentLocatorGuid = new Guid("A8D35F2D-B30B-454D-ABF7-D3D84834AB0C"); - readonly Guid ParentTypeVHDXGuid = new Guid("B04AEFB7-D19E-4A81-B789-25B8E9445913"); + const ulong VHDX_SIGNATURE = 0x656C696678646876; + const uint VHDX_HEADER_SIG = 0x64616568; + const uint VHDX_REGION_SIG = 0x69676572; + const ulong VHDX_METADATA_SIG = 0x617461646174656D; + readonly Guid batGuid = new Guid("2DC27766-F623-4200-9D64-115E9BFD4A08"); + readonly Guid metadataGuid = new Guid("8B7CA206-4790-4B9A-B8FE-575F050F886E"); + readonly Guid fileParametersGuid = new Guid("CAA16737-FA36-4D43-B3B6-33F0AA44E76B"); + readonly Guid virtualDiskSizeGuid = new Guid("2FA54224-CD1B-4876-B211-5DBED83BF4B8"); + readonly Guid page83DataGuid = new Guid("BECA12AB-B2E6-4523-93EF-C309E000C746"); + readonly Guid logicalSectorSizeGuid = new Guid("8141BF1D-A96F-4709-BA47-F233A8FAAB5F"); + readonly Guid physicalSectorSizeGuid = new Guid("CDA348C7-445D-4471-9CC9-E9885251C556"); + readonly Guid parentLocatorGuid = new Guid("A8D35F2D-B30B-454D-ABF7-D3D84834AB0C"); + readonly Guid parentTypeVhdxGuid = new Guid("B04AEFB7-D19E-4A81-B789-25B8E9445913"); - const string ParentLinkageKey = "parent_linkage"; - const string ParentLinkage2Key = "parent_linkage2"; - const string RelativePathKey = "relative_path"; - const string VolumePathKey = "volume_path"; - const string AbsoluteWin32PathKey = "absolute_win32_path"; + const string PARENT_LINKAGE_KEY = "parent_linkage"; + const string PARENT_LINKAGE2_KEY = "parent_linkage2"; + const string RELATIVE_PATH_KEY = "relative_path"; + const string VOLUME_PATH_KEY = "volume_path"; + const string ABSOLUTE_WIN32_PATH_KEY = "absolute_win32_path"; - const uint RegionFlagsRequired = 0x01; + const uint REGION_FLAGS_REQUIRED = 0x01; - const uint MetadataFlagsUser = 0x01; - const uint MetadataFlagsVirtual = 0x02; - const uint MetadataFlagsRequired = 0x04; + const uint METADATA_FLAGS_USER = 0x01; + const uint METADATA_FLAGS_VIRTUAL = 0x02; + const uint METADATA_FLAGS_REQUIRED = 0x04; - const uint FileFlagsLeaveAllocated = 0x01; - const uint FileFlagsHasParent = 0x02; + const uint FILE_FLAGS_LEAVE_ALLOCATED = 0x01; + const uint FILE_FLAGS_HAS_PARENT = 0x02; /// <summary>Block has never been stored on this image, check parent</summary> - const ulong PayloadBlockNotPresent = 0x00; + const ulong PAYLOAD_BLOCK_NOT_PRESENT = 0x00; /// <summary>Block was stored on this image and is removed, return whatever data you wish</summary> - const ulong PayloadBlockUndefined = 0x01; + const ulong PAYLOAD_BLOCK_UNDEFINED = 0x01; /// <summary>Block is filled with zeroes</summary> - const ulong PayloadBlockZero = 0x02; + const ulong PAYLOAD_BLOCK_ZERO = 0x02; /// <summary>All sectors in this block were UNMAPed/TRIMed, return zeroes</summary> - const ulong PayloadBlockUnmapper = 0x03; + const ulong PAYLOAD_BLOCK_UNMAPPER = 0x03; /// <summary>Block is present on this image</summary> - const ulong PayloadBlockFullyPresent = 0x06; + const ulong PAYLOAD_BLOCK_FULLY_PRESENT = 0x06; /// <summary>Block is present on image but there may be sectors present on parent image</summary> - const ulong PayloadBlockPartiallyPresent = 0x07; + const ulong PAYLOAD_BLOCK_PARTIALLY_PRESENT = 0x07; - const ulong SectorBitmapNotPresent = 0x00; - const ulong SectorBitmapPresent = 0x06; + const ulong SECTOR_BITMAP_NOT_PRESENT = 0x00; + const ulong SECTOR_BITMAP_PRESENT = 0x06; - const ulong BATFileOffsetMask = 0xFFFFFFFFFFFC0000; - const ulong BATFlagsMask = 0x7; - const ulong BATReservedMask = 0x3FFF8; + const ulong BAT_FILE_OFFSET_MASK = 0xFFFFFFFFFFFC0000; + const ulong BAT_FLAGS_MASK = 0x7; + const ulong BAT_RESERVED_MASK = 0x3FFF8; #endregion #region Internal variables - ulong VirtualDiskSize; - Guid Page83Data; - uint LogicalSectorSize; - uint PhysicalSectorSize; + ulong virtualDiskSize; + Guid page83Data; + uint logicalSectorSize; + uint physicalSectorSize; - VHDXIdentifier vhdxId; - VHDXHeader vHdr; - VHDXRegionTableHeader vRegHdr; - VHDXRegionTableEntry[] vRegs; - VHDXMetadataTableHeader vMetHdr; - VHDXMetadataTableEntry[] vMets; - VHDXFileParameters vFileParms; - VHDXParentLocatorHeader vParHdr; - VHDXParentLocatorEntry[] vPars; + VhdxIdentifier vhdxId; + VhdxHeader vHdr; + VhdxRegionTableHeader vRegHdr; + VhdxRegionTableEntry[] vRegs; + VhdxMetadataTableHeader vMetHdr; + VhdxMetadataTableEntry[] vMets; + VhdxFileParameters vFileParms; + VhdxParentLocatorHeader vParHdr; + VhdxParentLocatorEntry[] vPars; long batOffset; long metadataOffset; @@ -319,7 +319,7 @@ namespace DiscImageChef.ImagePlugins bool hasParent; Stream imageStream; - const int MaxCacheSize = 16777216; + const int MAX_CACHE_SIZE = 16777216; int maxBlockCache; int maxSectorCache; @@ -327,31 +327,31 @@ namespace DiscImageChef.ImagePlugins Dictionary<ulong, byte[]> blockCache; #endregion - public VHDX() + public Vhdx() { Name = "Microsoft VHDX"; - PluginUUID = new Guid("536B141B-D09C-4799-AB70-34631286EB9D"); + PluginUuid = new Guid("536B141B-D09C-4799-AB70-34631286EB9D"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } #region public methods @@ -362,15 +362,15 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] vhdxId_b = new byte[Marshal.SizeOf(vhdxId)]; - stream.Read(vhdxId_b, 0, Marshal.SizeOf(vhdxId)); - vhdxId = new VHDXIdentifier(); + byte[] vhdxIdB = new byte[Marshal.SizeOf(vhdxId)]; + stream.Read(vhdxIdB, 0, Marshal.SizeOf(vhdxId)); + vhdxId = new VhdxIdentifier(); IntPtr idPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vhdxId)); - Marshal.Copy(vhdxId_b, 0, idPtr, Marshal.SizeOf(vhdxId)); - vhdxId = (VHDXIdentifier)Marshal.PtrToStructure(idPtr, typeof(VHDXIdentifier)); + Marshal.Copy(vhdxIdB, 0, idPtr, Marshal.SizeOf(vhdxId)); + vhdxId = (VhdxIdentifier)Marshal.PtrToStructure(idPtr, typeof(VhdxIdentifier)); Marshal.FreeHGlobal(idPtr); - return vhdxId.signature == VHDXSignature; + return vhdxId.signature == VHDX_SIGNATURE; } public override bool OpenImage(Filter imageFilter) @@ -380,79 +380,79 @@ namespace DiscImageChef.ImagePlugins if(stream.Length < 512) return false; - byte[] vhdxId_b = new byte[Marshal.SizeOf(vhdxId)]; - stream.Read(vhdxId_b, 0, Marshal.SizeOf(vhdxId)); - vhdxId = new VHDXIdentifier(); + byte[] vhdxIdB = new byte[Marshal.SizeOf(vhdxId)]; + stream.Read(vhdxIdB, 0, Marshal.SizeOf(vhdxId)); + vhdxId = new VhdxIdentifier(); IntPtr idPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vhdxId)); - Marshal.Copy(vhdxId_b, 0, idPtr, Marshal.SizeOf(vhdxId)); - vhdxId = (VHDXIdentifier)Marshal.PtrToStructure(idPtr, typeof(VHDXIdentifier)); + Marshal.Copy(vhdxIdB, 0, idPtr, Marshal.SizeOf(vhdxId)); + vhdxId = (VhdxIdentifier)Marshal.PtrToStructure(idPtr, typeof(VhdxIdentifier)); Marshal.FreeHGlobal(idPtr); - if(vhdxId.signature != VHDXSignature) return false; + if(vhdxId.signature != VHDX_SIGNATURE) return false; - ImageInfo.imageApplication = Encoding.Unicode.GetString(vhdxId.creator); + ImageInfo.ImageApplication = Encoding.Unicode.GetString(vhdxId.creator); stream.Seek(64 * 1024, SeekOrigin.Begin); - byte[] vHdr_b = new byte[Marshal.SizeOf(vHdr)]; - stream.Read(vHdr_b, 0, Marshal.SizeOf(vHdr)); - vHdr = new VHDXHeader(); + byte[] vHdrB = new byte[Marshal.SizeOf(vHdr)]; + stream.Read(vHdrB, 0, Marshal.SizeOf(vHdr)); + vHdr = new VhdxHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vHdr)); - Marshal.Copy(vHdr_b, 0, headerPtr, Marshal.SizeOf(vHdr)); - vHdr = (VHDXHeader)Marshal.PtrToStructure(headerPtr, typeof(VHDXHeader)); + Marshal.Copy(vHdrB, 0, headerPtr, Marshal.SizeOf(vHdr)); + vHdr = (VhdxHeader)Marshal.PtrToStructure(headerPtr, typeof(VhdxHeader)); Marshal.FreeHGlobal(headerPtr); - if(vHdr.signature != VHDXHeaderSig) + if(vHdr.Signature != VHDX_HEADER_SIG) { stream.Seek(128 * 1024, SeekOrigin.Begin); - vHdr_b = new byte[Marshal.SizeOf(vHdr)]; - stream.Read(vHdr_b, 0, Marshal.SizeOf(vHdr)); - vHdr = new VHDXHeader(); + vHdrB = new byte[Marshal.SizeOf(vHdr)]; + stream.Read(vHdrB, 0, Marshal.SizeOf(vHdr)); + vHdr = new VhdxHeader(); headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vHdr)); - Marshal.Copy(vHdr_b, 0, headerPtr, Marshal.SizeOf(vHdr)); - vHdr = (VHDXHeader)Marshal.PtrToStructure(headerPtr, typeof(VHDXHeader)); + Marshal.Copy(vHdrB, 0, headerPtr, Marshal.SizeOf(vHdr)); + vHdr = (VhdxHeader)Marshal.PtrToStructure(headerPtr, typeof(VhdxHeader)); Marshal.FreeHGlobal(headerPtr); - if(vHdr.signature != VHDXHeaderSig) throw new ImageNotSupportedException("VHDX header not found"); + if(vHdr.Signature != VHDX_HEADER_SIG) throw new ImageNotSupportedException("VHDX header not found"); } stream.Seek(192 * 1024, SeekOrigin.Begin); - byte[] vRegTable_b = new byte[Marshal.SizeOf(vRegHdr)]; - stream.Read(vRegTable_b, 0, Marshal.SizeOf(vRegHdr)); - vRegHdr = new VHDXRegionTableHeader(); + byte[] vRegTableB = new byte[Marshal.SizeOf(vRegHdr)]; + stream.Read(vRegTableB, 0, Marshal.SizeOf(vRegHdr)); + vRegHdr = new VhdxRegionTableHeader(); IntPtr vRegTabPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vRegHdr)); - Marshal.Copy(vRegTable_b, 0, vRegTabPtr, Marshal.SizeOf(vRegHdr)); - vRegHdr = (VHDXRegionTableHeader)Marshal.PtrToStructure(vRegTabPtr, typeof(VHDXRegionTableHeader)); + Marshal.Copy(vRegTableB, 0, vRegTabPtr, Marshal.SizeOf(vRegHdr)); + vRegHdr = (VhdxRegionTableHeader)Marshal.PtrToStructure(vRegTabPtr, typeof(VhdxRegionTableHeader)); Marshal.FreeHGlobal(vRegTabPtr); - if(vRegHdr.signature != VHDXRegionSig) + if(vRegHdr.signature != VHDX_REGION_SIG) { stream.Seek(256 * 1024, SeekOrigin.Begin); - vRegTable_b = new byte[Marshal.SizeOf(vRegHdr)]; - stream.Read(vRegTable_b, 0, Marshal.SizeOf(vRegHdr)); - vRegHdr = new VHDXRegionTableHeader(); + vRegTableB = new byte[Marshal.SizeOf(vRegHdr)]; + stream.Read(vRegTableB, 0, Marshal.SizeOf(vRegHdr)); + vRegHdr = new VhdxRegionTableHeader(); vRegTabPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vRegHdr)); - Marshal.Copy(vRegTable_b, 0, vRegTabPtr, Marshal.SizeOf(vRegHdr)); - vRegHdr = (VHDXRegionTableHeader)Marshal.PtrToStructure(vRegTabPtr, typeof(VHDXRegionTableHeader)); + Marshal.Copy(vRegTableB, 0, vRegTabPtr, Marshal.SizeOf(vRegHdr)); + vRegHdr = (VhdxRegionTableHeader)Marshal.PtrToStructure(vRegTabPtr, typeof(VhdxRegionTableHeader)); Marshal.FreeHGlobal(vRegTabPtr); - if(vRegHdr.signature != VHDXRegionSig) + if(vRegHdr.signature != VHDX_REGION_SIG) throw new ImageNotSupportedException("VHDX region table not found"); } - vRegs = new VHDXRegionTableEntry[vRegHdr.entries]; + vRegs = new VhdxRegionTableEntry[vRegHdr.entries]; for(int i = 0; i < vRegs.Length; i++) { - byte[] vReg_b = new byte[Marshal.SizeOf(vRegs[i])]; - stream.Read(vReg_b, 0, Marshal.SizeOf(vRegs[i])); - vRegs[i] = new VHDXRegionTableEntry(); + byte[] vRegB = new byte[Marshal.SizeOf(vRegs[i])]; + stream.Read(vRegB, 0, Marshal.SizeOf(vRegs[i])); + vRegs[i] = new VhdxRegionTableEntry(); IntPtr vRegPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vRegs[i])); - Marshal.Copy(vReg_b, 0, vRegPtr, Marshal.SizeOf(vRegs[i])); - vRegs[i] = (VHDXRegionTableEntry)Marshal.PtrToStructure(vRegPtr, typeof(VHDXRegionTableEntry)); + Marshal.Copy(vRegB, 0, vRegPtr, Marshal.SizeOf(vRegs[i])); + vRegs[i] = (VhdxRegionTableEntry)Marshal.PtrToStructure(vRegPtr, typeof(VhdxRegionTableEntry)); Marshal.FreeHGlobal(vRegPtr); - if(vRegs[i].guid == BATGuid) batOffset = (long)vRegs[i].offset; - else if(vRegs[i].guid == MetadataGuid) metadataOffset = (long)vRegs[i].offset; - else if((vRegs[i].flags & RegionFlagsRequired) == RegionFlagsRequired) + if(vRegs[i].guid == batGuid) batOffset = (long)vRegs[i].offset; + else if(vRegs[i].guid == metadataGuid) metadataOffset = (long)vRegs[i].offset; + else if((vRegs[i].flags & REGION_FLAGS_REQUIRED) == REGION_FLAGS_REQUIRED) throw new ImageNotSupportedException(string.Format("Found unsupported and required region Guid {0}, not proceeding with image.", vRegs[i].guid)); @@ -465,32 +465,32 @@ namespace DiscImageChef.ImagePlugins uint fileParamsOff = 0, vdSizeOff = 0, p83Off = 0, logOff = 0, physOff = 0, parentOff = 0; stream.Seek(metadataOffset, SeekOrigin.Begin); - byte[] metTable_b = new byte[Marshal.SizeOf(vMetHdr)]; - stream.Read(metTable_b, 0, Marshal.SizeOf(vMetHdr)); - vMetHdr = new VHDXMetadataTableHeader(); + byte[] metTableB = new byte[Marshal.SizeOf(vMetHdr)]; + stream.Read(metTableB, 0, Marshal.SizeOf(vMetHdr)); + vMetHdr = new VhdxMetadataTableHeader(); IntPtr metTablePtr = Marshal.AllocHGlobal(Marshal.SizeOf(vMetHdr)); - Marshal.Copy(metTable_b, 0, metTablePtr, Marshal.SizeOf(vMetHdr)); - vMetHdr = (VHDXMetadataTableHeader)Marshal.PtrToStructure(metTablePtr, typeof(VHDXMetadataTableHeader)); + Marshal.Copy(metTableB, 0, metTablePtr, Marshal.SizeOf(vMetHdr)); + vMetHdr = (VhdxMetadataTableHeader)Marshal.PtrToStructure(metTablePtr, typeof(VhdxMetadataTableHeader)); Marshal.FreeHGlobal(metTablePtr); - vMets = new VHDXMetadataTableEntry[vMetHdr.entries]; + vMets = new VhdxMetadataTableEntry[vMetHdr.entries]; for(int i = 0; i < vMets.Length; i++) { - byte[] vMet_b = new byte[Marshal.SizeOf(vMets[i])]; - stream.Read(vMet_b, 0, Marshal.SizeOf(vMets[i])); - vMets[i] = new VHDXMetadataTableEntry(); + byte[] vMetB = new byte[Marshal.SizeOf(vMets[i])]; + stream.Read(vMetB, 0, Marshal.SizeOf(vMets[i])); + vMets[i] = new VhdxMetadataTableEntry(); IntPtr vMetPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vMets[i])); - Marshal.Copy(vMet_b, 0, vMetPtr, Marshal.SizeOf(vMets[i])); - vMets[i] = (VHDXMetadataTableEntry)Marshal.PtrToStructure(vMetPtr, typeof(VHDXMetadataTableEntry)); + Marshal.Copy(vMetB, 0, vMetPtr, Marshal.SizeOf(vMets[i])); + vMets[i] = (VhdxMetadataTableEntry)Marshal.PtrToStructure(vMetPtr, typeof(VhdxMetadataTableEntry)); Marshal.FreeHGlobal(vMetPtr); - if(vMets[i].itemId == FileParametersGuid) fileParamsOff = vMets[i].offset; - else if(vMets[i].itemId == VirtualDiskSizeGuid) vdSizeOff = vMets[i].offset; - else if(vMets[i].itemId == Page83DataGuid) p83Off = vMets[i].offset; - else if(vMets[i].itemId == LogicalSectorSizeGuid) logOff = vMets[i].offset; - else if(vMets[i].itemId == PhysicalSectorSizeGuid) physOff = vMets[i].offset; - else if(vMets[i].itemId == ParentLocatorGuid) parentOff = vMets[i].offset; - else if((vMets[i].flags & MetadataFlagsRequired) == MetadataFlagsRequired) + if(vMets[i].itemId == fileParametersGuid) fileParamsOff = vMets[i].offset; + else if(vMets[i].itemId == virtualDiskSizeGuid) vdSizeOff = vMets[i].offset; + else if(vMets[i].itemId == page83DataGuid) p83Off = vMets[i].offset; + else if(vMets[i].itemId == logicalSectorSizeGuid) logOff = vMets[i].offset; + else if(vMets[i].itemId == physicalSectorSizeGuid) physOff = vMets[i].offset; + else if(vMets[i].itemId == parentLocatorGuid) parentOff = vMets[i].offset; + else if((vMets[i].flags & METADATA_FLAGS_REQUIRED) == METADATA_FLAGS_REQUIRED) throw new ImageNotSupportedException(string.Format("Found unsupported and required metadata Guid {0}, not proceeding with image.", vMets[i].itemId)); @@ -503,7 +503,7 @@ namespace DiscImageChef.ImagePlugins stream.Seek(fileParamsOff + metadataOffset, SeekOrigin.Begin); tmp = new byte[8]; stream.Read(tmp, 0, 8); - vFileParms = new VHDXFileParameters(); + vFileParms = new VhdxFileParameters(); vFileParms.blockSize = BitConverter.ToUInt32(tmp, 0); vFileParms.flags = BitConverter.ToUInt32(tmp, 4); } @@ -514,7 +514,7 @@ namespace DiscImageChef.ImagePlugins stream.Seek(vdSizeOff + metadataOffset, SeekOrigin.Begin); tmp = new byte[8]; stream.Read(tmp, 0, 8); - VirtualDiskSize = BitConverter.ToUInt64(tmp, 0); + virtualDiskSize = BitConverter.ToUInt64(tmp, 0); } else throw new Exception("Virtual disk size not found."); @@ -523,7 +523,7 @@ namespace DiscImageChef.ImagePlugins stream.Seek(p83Off + metadataOffset, SeekOrigin.Begin); tmp = new byte[16]; stream.Read(tmp, 0, 16); - Page83Data = new Guid(tmp); + page83Data = new Guid(tmp); } if(logOff != 0) @@ -531,7 +531,7 @@ namespace DiscImageChef.ImagePlugins stream.Seek(logOff + metadataOffset, SeekOrigin.Begin); tmp = new byte[4]; stream.Read(tmp, 0, 4); - LogicalSectorSize = BitConverter.ToUInt32(tmp, 0); + logicalSectorSize = BitConverter.ToUInt32(tmp, 0); } else throw new Exception("Logical sector size not found."); @@ -540,56 +540,56 @@ namespace DiscImageChef.ImagePlugins stream.Seek(physOff + metadataOffset, SeekOrigin.Begin); tmp = new byte[4]; stream.Read(tmp, 0, 4); - PhysicalSectorSize = BitConverter.ToUInt32(tmp, 0); + physicalSectorSize = BitConverter.ToUInt32(tmp, 0); } else throw new Exception("Physical sector size not found."); - if(parentOff != 0 && (vFileParms.flags & FileFlagsHasParent) == FileFlagsHasParent) + if(parentOff != 0 && (vFileParms.flags & FILE_FLAGS_HAS_PARENT) == FILE_FLAGS_HAS_PARENT) { stream.Seek(parentOff + metadataOffset, SeekOrigin.Begin); - byte[] vParHdr_b = new byte[Marshal.SizeOf(vMetHdr)]; - stream.Read(vParHdr_b, 0, Marshal.SizeOf(vMetHdr)); - vParHdr = new VHDXParentLocatorHeader(); + byte[] vParHdrB = new byte[Marshal.SizeOf(vMetHdr)]; + stream.Read(vParHdrB, 0, Marshal.SizeOf(vMetHdr)); + vParHdr = new VhdxParentLocatorHeader(); IntPtr vParHdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vMetHdr)); - Marshal.Copy(vParHdr_b, 0, vParHdrPtr, Marshal.SizeOf(vMetHdr)); - vParHdr = (VHDXParentLocatorHeader)Marshal.PtrToStructure(vParHdrPtr, typeof(VHDXParentLocatorHeader)); + Marshal.Copy(vParHdrB, 0, vParHdrPtr, Marshal.SizeOf(vMetHdr)); + vParHdr = (VhdxParentLocatorHeader)Marshal.PtrToStructure(vParHdrPtr, typeof(VhdxParentLocatorHeader)); Marshal.FreeHGlobal(vParHdrPtr); - if(vParHdr.locatorType != ParentTypeVHDXGuid) + if(vParHdr.locatorType != parentTypeVhdxGuid) throw new ImageNotSupportedException(string.Format("Found unsupported and required parent locator type {0}, not proceeding with image.", vParHdr.locatorType)); - vPars = new VHDXParentLocatorEntry[vParHdr.keyValueCount]; + vPars = new VhdxParentLocatorEntry[vParHdr.keyValueCount]; for(int i = 0; i < vPars.Length; i++) { - byte[] vPar_b = new byte[Marshal.SizeOf(vPars[i])]; - stream.Read(vPar_b, 0, Marshal.SizeOf(vPars[i])); - vPars[i] = new VHDXParentLocatorEntry(); + byte[] vParB = new byte[Marshal.SizeOf(vPars[i])]; + stream.Read(vParB, 0, Marshal.SizeOf(vPars[i])); + vPars[i] = new VhdxParentLocatorEntry(); IntPtr vParPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vPars[i])); - Marshal.Copy(vPar_b, 0, vParPtr, Marshal.SizeOf(vPars[i])); - vPars[i] = (VHDXParentLocatorEntry)Marshal.PtrToStructure(vParPtr, typeof(VHDXParentLocatorEntry)); + Marshal.Copy(vParB, 0, vParPtr, Marshal.SizeOf(vPars[i])); + vPars[i] = (VhdxParentLocatorEntry)Marshal.PtrToStructure(vParPtr, typeof(VhdxParentLocatorEntry)); Marshal.FreeHGlobal(vParPtr); } } - else if((vFileParms.flags & FileFlagsHasParent) == FileFlagsHasParent) + else if((vFileParms.flags & FILE_FLAGS_HAS_PARENT) == FILE_FLAGS_HAS_PARENT) throw new Exception("Parent locator not found."); - if((vFileParms.flags & FileFlagsHasParent) == FileFlagsHasParent && - vParHdr.locatorType == ParentTypeVHDXGuid) + if((vFileParms.flags & FILE_FLAGS_HAS_PARENT) == FILE_FLAGS_HAS_PARENT && + vParHdr.locatorType == parentTypeVhdxGuid) { - parentImage = new VHDX(); + parentImage = new Vhdx(); bool parentWorks = false; Filter parentFilter; - foreach(VHDXParentLocatorEntry parentEntry in vPars) + foreach(VhdxParentLocatorEntry parentEntry in vPars) { stream.Seek(parentEntry.keyOffset + metadataOffset, SeekOrigin.Begin); byte[] tmpKey = new byte[parentEntry.keyLength]; stream.Read(tmpKey, 0, tmpKey.Length); string entryType = Encoding.Unicode.GetString(tmpKey); - if(string.Compare(entryType, RelativePathKey, StringComparison.OrdinalIgnoreCase) == 0) + if(string.Compare(entryType, RELATIVE_PATH_KEY, StringComparison.OrdinalIgnoreCase) == 0) { stream.Seek(parentEntry.valueOffset + metadataOffset, SeekOrigin.Begin); byte[] tmpVal = new byte[parentEntry.valueLength]; @@ -622,8 +622,8 @@ namespace DiscImageChef.ImagePlugins } catch { continue; } } - else if(string.Compare(entryType, VolumePathKey, StringComparison.OrdinalIgnoreCase) == 0 || - string.Compare(entryType, AbsoluteWin32PathKey, StringComparison.OrdinalIgnoreCase) == 0) + else if(string.Compare(entryType, VOLUME_PATH_KEY, StringComparison.OrdinalIgnoreCase) == 0 || + string.Compare(entryType, ABSOLUTE_WIN32_PATH_KEY, StringComparison.OrdinalIgnoreCase) == 0) { stream.Seek(parentEntry.valueOffset + metadataOffset, SeekOrigin.Begin); byte[] tmpVal = new byte[parentEntry.valueLength]; @@ -649,9 +649,9 @@ namespace DiscImageChef.ImagePlugins hasParent = true; } - chunkRatio = (long)((Math.Pow(2, 23) * LogicalSectorSize) / vFileParms.blockSize); - dataBlocks = VirtualDiskSize / vFileParms.blockSize; - if((VirtualDiskSize % vFileParms.blockSize) > 0) dataBlocks++; + chunkRatio = (long)((Math.Pow(2, 23) * logicalSectorSize) / vFileParms.blockSize); + dataBlocks = virtualDiskSize / vFileParms.blockSize; + if((virtualDiskSize % vFileParms.blockSize) > 0) dataBlocks++; long batEntries; if(hasParent) @@ -668,9 +668,9 @@ namespace DiscImageChef.ImagePlugins long readChunks = 0; blockAllocationTable = new ulong[dataBlocks]; - byte[] BAT_b = new byte[batEntries * 8]; + byte[] batB = new byte[batEntries * 8]; stream.Seek(batOffset, SeekOrigin.Begin); - stream.Read(BAT_b, 0, BAT_b.Length); + stream.Read(batB, 0, batB.Length); ulong skipSize = 0; for(ulong i = 0; i < dataBlocks; i++) @@ -678,14 +678,14 @@ namespace DiscImageChef.ImagePlugins if(readChunks == chunkRatio) { if(hasParent) - sectorBitmapPointers[skipSize / 8] = BitConverter.ToUInt64(BAT_b, (int)(i * 8 + skipSize)); + sectorBitmapPointers[skipSize / 8] = BitConverter.ToUInt64(batB, (int)(i * 8 + skipSize)); readChunks = 0; skipSize += 8; } else { - blockAllocationTable[i] = BitConverter.ToUInt64(BAT_b, (int)(i * 8 + skipSize)); + blockAllocationTable[i] = BitConverter.ToUInt64(batB, (int)(i * 8 + skipSize)); readChunks++; } } @@ -697,51 +697,51 @@ namespace DiscImageChef.ImagePlugins MemoryStream sectorBmpMs = new MemoryStream(); foreach(ulong pt in sectorBitmapPointers) { - if((pt & BATFlagsMask) == SectorBitmapNotPresent) + if((pt & BAT_FLAGS_MASK) == SECTOR_BITMAP_NOT_PRESENT) { sectorBmpMs.Write(new byte[1048576], 0, 1048576); } - else if((pt & BATFlagsMask) == SectorBitmapPresent) + else if((pt & BAT_FLAGS_MASK) == SECTOR_BITMAP_PRESENT) { - stream.Seek((long)((pt & BATFileOffsetMask) * 1048576), SeekOrigin.Begin); + stream.Seek((long)((pt & BAT_FILE_OFFSET_MASK) * 1048576), SeekOrigin.Begin); byte[] bmp = new byte[1048576]; stream.Read(bmp, 0, bmp.Length); sectorBmpMs.Write(bmp, 0, bmp.Length); } - else if((pt & BATFlagsMask) != 0) + else if((pt & BAT_FLAGS_MASK) != 0) throw new ImageNotSupportedException(string .Format("Unsupported sector bitmap block flags (0x{0:X16}) found, not proceeding.", - pt & BATFlagsMask)); + pt & BAT_FLAGS_MASK)); } sectorBitmap = sectorBmpMs.ToArray(); sectorBmpMs.Close(); } - maxBlockCache = (int)(MaxCacheSize / vFileParms.blockSize); - maxSectorCache = (int)(MaxCacheSize / LogicalSectorSize); + maxBlockCache = (int)(MAX_CACHE_SIZE / vFileParms.blockSize); + maxSectorCache = (int)(MAX_CACHE_SIZE / logicalSectorSize); imageStream = stream; sectorCache = new Dictionary<ulong, byte[]>(); blockCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectorSize = LogicalSectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = VirtualDiskSize; - ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize; - ImageInfo.driveSerialNumber = Page83Data.ToString(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.SectorSize = logicalSectorSize; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = virtualDiskSize; + ImageInfo.Sectors = ImageInfo.ImageSize / ImageInfo.SectorSize; + ImageInfo.DriveSerialNumber = page83Data.ToString(); // TODO: Separate image application from version, need several samples. - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; return true; } @@ -764,17 +764,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -784,37 +784,37 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() @@ -824,7 +824,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -832,42 +832,42 @@ namespace DiscImageChef.ImagePlugins if(sectorCache.TryGetValue(sectorAddress, out sector)) return sector; - ulong index = (sectorAddress * LogicalSectorSize) / vFileParms.blockSize; - ulong secOff = (sectorAddress * LogicalSectorSize) % vFileParms.blockSize; + ulong index = (sectorAddress * logicalSectorSize) / vFileParms.blockSize; + ulong secOff = (sectorAddress * logicalSectorSize) % vFileParms.blockSize; ulong blkPtr = blockAllocationTable[index]; - ulong blkFlags = blkPtr & BATFlagsMask; + ulong blkFlags = blkPtr & BAT_FLAGS_MASK; - if((blkPtr & BATReservedMask) != 0) + if((blkPtr & BAT_RESERVED_MASK) != 0) throw new ImageNotSupportedException(string.Format("Unknown flags (0x{0:X16}) set in block pointer", - blkPtr & BATReservedMask)); + blkPtr & BAT_RESERVED_MASK)); - if((blkFlags & BATFlagsMask) == PayloadBlockNotPresent) - return hasParent ? parentImage.ReadSector(sectorAddress) : new byte[LogicalSectorSize]; + if((blkFlags & BAT_FLAGS_MASK) == PAYLOAD_BLOCK_NOT_PRESENT) + return hasParent ? parentImage.ReadSector(sectorAddress) : new byte[logicalSectorSize]; - if((blkFlags & BATFlagsMask) == PayloadBlockUndefined || (blkFlags & BATFlagsMask) == PayloadBlockZero || - (blkFlags & BATFlagsMask) == PayloadBlockUnmapper) return new byte[LogicalSectorSize]; + if((blkFlags & BAT_FLAGS_MASK) == PAYLOAD_BLOCK_UNDEFINED || (blkFlags & BAT_FLAGS_MASK) == PAYLOAD_BLOCK_ZERO || + (blkFlags & BAT_FLAGS_MASK) == PAYLOAD_BLOCK_UNMAPPER) return new byte[logicalSectorSize]; bool partialBlock; - partialBlock = !((blkFlags & BATFlagsMask) == PayloadBlockFullyPresent); - partialBlock = (blkFlags & BATFlagsMask) == PayloadBlockPartiallyPresent; + partialBlock = !((blkFlags & BAT_FLAGS_MASK) == PAYLOAD_BLOCK_FULLY_PRESENT); + partialBlock = (blkFlags & BAT_FLAGS_MASK) == PAYLOAD_BLOCK_PARTIALLY_PRESENT; if(partialBlock && hasParent && !CheckBitmap(sectorAddress)) return parentImage.ReadSector(sectorAddress); byte[] block; - if(!blockCache.TryGetValue(blkPtr & BATFileOffsetMask, out block)) + if(!blockCache.TryGetValue(blkPtr & BAT_FILE_OFFSET_MASK, out block)) { block = new byte[vFileParms.blockSize]; - imageStream.Seek((long)((blkPtr & BATFileOffsetMask)), SeekOrigin.Begin); + imageStream.Seek((long)((blkPtr & BAT_FILE_OFFSET_MASK)), SeekOrigin.Begin); imageStream.Read(block, 0, block.Length); if(blockCache.Count >= maxBlockCache) blockCache.Clear(); - blockCache.Add(blkPtr & BATFileOffsetMask, block); + blockCache.Add(blkPtr & BAT_FILE_OFFSET_MASK, block); } - sector = new byte[LogicalSectorSize]; + sector = new byte[logicalSectorSize]; Array.Copy(block, (int)secOff, sector, 0, sector.Length); if(sectorCache.Count >= maxSectorCache) sectorCache.Clear(); @@ -879,14 +879,14 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), string.Format("Requested more sectors ({0}) than available ({1})", - sectorAddress + length, ImageInfo.sectors)); + sectorAddress + length, ImageInfo.Sectors)); MemoryStream ms = new MemoryStream(); @@ -901,7 +901,7 @@ namespace DiscImageChef.ImagePlugins #endregion #region private methods - static uint VHDXChecksum(byte[] data) + static uint VhdxChecksum(byte[] data) { uint checksum = 0; foreach(byte b in data) checksum += b; @@ -1056,18 +1056,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/VMware.cs b/DiscImageChef.DiscImages/VMware.cs index c058bdf8d..37bfb559f 100644 --- a/DiscImageChef.DiscImages/VMware.cs +++ b/DiscImageChef.DiscImages/VMware.cs @@ -39,65 +39,65 @@ using System.Text.RegularExpressions; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.DiscImages { public class VMware : ImagePlugin { #region Internal constants - const uint VMwareExtentMagic = 0x564D444B; - const uint VMwareCowMagic = 0x44574F43; + const uint VMWARE_EXTENT_MAGIC = 0x564D444B; + const uint VMWARE_COW_MAGIC = 0x44574F43; - const string VMTypeCustom = "custom"; - const string VMTypeMonoSparse = "monolithicSparse"; - const string VMTypeMonoFlat = "monolithicFlat"; - const string VMTypeSplitSparse = "twoGbMaxExtentSparse"; - const string VMTypeSplitFlat = "twoGbMaxExtentFlat"; - const string VMTypeFullDevice = "fullDevice"; - const string VMTypePartDevice = "partitionedDevice"; - const string VMFSTypeFlat = "vmfsPreallocated"; - const string VMFSTypeZero = "vmfsEagerZeroedThick"; - const string VMFSTypeThin = "vmfsThin"; - const string VMFSTypeSparse = "vmfsSparse"; - const string VMFSTypeRDM = "vmfsRDM"; - const string VMFSTypeRDMOld = "vmfsRawDeviceMap"; - const string VMFSTypeRDMP = "vmfsRDMP"; - const string VMFSTypeRDMPOld = "vmfsPassthroughRawDeviceMap"; - const string VMFSTypeRaw = "vmfsRaw"; - const string VMFSType = "vmfs"; - const string VMTypeStream = "streamOptimized"; + const string VM_TYPE_CUSTOM = "custom"; + const string VM_TYPE_MONO_SPARSE = "monolithicSparse"; + const string VM_TYPE_MONO_FLAT = "monolithicFlat"; + const string VM_TYPE_SPLIT_SPARSE = "twoGbMaxExtentSparse"; + const string VM_TYPE_SPLIT_FLAT = "twoGbMaxExtentFlat"; + const string VM_TYPE_FULL_DEVICE = "fullDevice"; + const string VM_TYPE_PART_DEVICE = "partitionedDevice"; + const string VMFS_TYPE_FLAT = "vmfsPreallocated"; + const string VMFS_TYPE_ZERO = "vmfsEagerZeroedThick"; + const string VMFS_TYPE_THIN = "vmfsThin"; + const string VMFS_TYPE_SPARSE = "vmfsSparse"; + const string VMFS_TYPE_RDM = "vmfsRDM"; + const string VMFS_TYPE_RDM_OLD = "vmfsRawDeviceMap"; + const string VMFS_TYPE_RDMP = "vmfsRDMP"; + const string VMFS_TYPE_RDMP_OLD = "vmfsPassthroughRawDeviceMap"; + const string VMFS_TYPE_RAW = "vmfsRaw"; + const string VMFS_TYPE = "vmfs"; + const string VM_TYPE_STREAM = "streamOptimized"; - const string DDFMagic = "# Disk DescriptorFile"; - readonly byte[] DDFMagicBytes = + const string DDF_MAGIC = "# Disk DescriptorFile"; + readonly byte[] ddfMagicBytes = { 0x23, 0x20, 0x44, 0x69, 0x73, 0x6B, 0x20, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6F, 0x72, 0x46, 0x69, 0x6C, 0x65 }; - const string VersionRegEx = "^\\s*version\\s*=\\s*(?<version>\\d+)$"; - const string CidRegEx = "^\\s*CID\\s*=\\s*(?<cid>[0123456789abcdef]{8})$"; - const string ParenCidRegEx = "^\\s*parentCID\\s*=\\s*(?<cid>[0123456789abcdef]{8})$"; - const string TypeRegEx = + const string VERSION_REGEX = "^\\s*version\\s*=\\s*(?<version>\\d+)$"; + const string CID_REGEX = "^\\s*CID\\s*=\\s*(?<cid>[0123456789abcdef]{8})$"; + const string PAREN_CID_REGEX = "^\\s*parentCID\\s*=\\s*(?<cid>[0123456789abcdef]{8})$"; + const string TYPE_REGEX = "^\\s*createType\\s*=\\s*\\\"(?<type>custom|monolithicSparse|monolithicFlat|twoGbMaxExtentSparse|twoGbMaxExtentFlat|fullDevice|partitionedDevice|vmfs|vmfsPreallocated|vmfsEagerZeroedThick|vmfsThin|vmfsSparse|vmfsRDM|vmfsRawDeviceMap|vmfsRDMP|vmfsPassthroughRawDeviceMap|vmfsRaw|streamOptimized)\\\"$" ; - const string ExtentRegEx = + const string EXTENT_REGEX = "^\\s*(?<access>(RW|RDONLY|NOACCESS))\\s+(?<sectors>\\d+)\\s+(?<type>(FLAT|SPARSE|ZERO|VMFS|VMFSSPARSE|VMFSRDM|VMFSRAW))\\s+\\\"(?<filename>.+)\\\"(\\s*(?<offset>\\d+))?$" ; - const string DDBTypeRegEx = "^\\s*ddb\\.adapterType\\s*=\\s*\\\"(?<type>ide|buslogic|lsilogic|legacyESX)\\\"$"; - const string DDBSectorsRegEx = "^\\s*ddb\\.geometry\\.sectors\\s*=\\s*\\\"(?<sectors>\\d+)\\\"$"; - const string DDBHeadsRegex = "^\\s*ddb\\.geometry\\.heads\\s*=\\s*\\\"(?<heads>\\d+)\\\"$"; - const string DDBCylindersRegEx = "^\\s*ddb\\.geometry\\.cylinders\\s*=\\s*\\\"(?<cylinders>\\d+)\\\"$"; - const string ParentRegEx = "^\\s*parentFileNameHint\\s*=\\s*\\\"(?<filename>.+)\\\"$"; + const string DDB_TYPE_REGEX = "^\\s*ddb\\.adapterType\\s*=\\s*\\\"(?<type>ide|buslogic|lsilogic|legacyESX)\\\"$"; + const string DDB_SECTORS_REGEX = "^\\s*ddb\\.geometry\\.sectors\\s*=\\s*\\\"(?<sectors>\\d+)\\\"$"; + const string DDB_HEADS_REGEX = "^\\s*ddb\\.geometry\\.heads\\s*=\\s*\\\"(?<heads>\\d+)\\\"$"; + const string DDB_CYLINDERS_REGEX = "^\\s*ddb\\.geometry\\.cylinders\\s*=\\s*\\\"(?<cylinders>\\d+)\\\"$"; + const string PARENT_REGEX = "^\\s*parentFileNameHint\\s*=\\s*\\\"(?<filename>.+)\\\"$"; - const uint FlagsValidNewLine = 0x01; - const uint FlagsUseRedundantTable = 0x02; - const uint FlagsZeroGrainGTE = 0x04; - const uint FlagsCompression = 0x10000; - const uint FlagsMarkers = 0x20000; + const uint FLAGS_VALID_NEW_LINE = 0x01; + const uint FLAGS_USE_REDUNDANT_TABLE = 0x02; + const uint FLAGS_ZERO_GRAIN_GTE = 0x04; + const uint FLAGS_COMPRESSION = 0x10000; + const uint FLAGS_MARKERS = 0x20000; - const ushort CompressionNone = 0; - const ushort CompressionDeflate = 1; + const ushort COMPRESSION_NONE = 0; + const ushort COMPRESSION_DEFLATE = 1; #endregion #region Internal Structures @@ -153,12 +153,12 @@ namespace DiscImageChef.DiscImages struct VMwareExtent { - public string access; - public uint sectors; - public string type; - public Filter filter; - public string filename; - public uint offset; + public string Access; + public uint Sectors; + public string Type; + public Filter Filter; + public string Filename; + public uint Offset; } VMwareExtentHeader vmEHdr; @@ -174,9 +174,9 @@ namespace DiscImageChef.DiscImages Dictionary<ulong, VMwareExtent> extents; string parentName; - const uint MaxCacheSize = 16777216; - const uint sectorSize = 512; - uint maxCachedSectors = MaxCacheSize / sectorSize; + const uint MAX_CACHE_SIZE = 16777216; + const uint SECTOR_SIZE = 512; + uint maxCachedSectors = MAX_CACHE_SIZE / SECTOR_SIZE; uint maxCachedGrains; ImagePlugin parentImage; @@ -189,28 +189,28 @@ namespace DiscImageChef.DiscImages public VMware() { Name = "VMware disk image"; - PluginUUID = new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); + PluginUuid = new Guid("E314DE35-C103-48A3-AD36-990F68523C46"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = "VMware"; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = "VMware"; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -222,11 +222,11 @@ namespace DiscImageChef.DiscImages if(stream.Length > Marshal.SizeOf(vmEHdr)) { stream.Seek(0, SeekOrigin.Begin); - byte[] vmEHdr_b = new byte[Marshal.SizeOf(vmEHdr)]; - stream.Read(vmEHdr_b, 0, Marshal.SizeOf(vmEHdr)); + byte[] vmEHdrB = new byte[Marshal.SizeOf(vmEHdr)]; + stream.Read(vmEHdrB, 0, Marshal.SizeOf(vmEHdr)); vmEHdr = new VMwareExtentHeader(); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vmEHdr)); - Marshal.Copy(vmEHdr_b, 0, headerPtr, Marshal.SizeOf(vmEHdr)); + Marshal.Copy(vmEHdrB, 0, headerPtr, Marshal.SizeOf(vmEHdr)); vmEHdr = (VMwareExtentHeader)Marshal.PtrToStructure(headerPtr, typeof(VMwareExtentHeader)); Marshal.FreeHGlobal(headerPtr); @@ -237,22 +237,22 @@ namespace DiscImageChef.DiscImages if(stream.Length > Marshal.SizeOf(vmCHdr)) { stream.Seek(0, SeekOrigin.Begin); - byte[] vmCHdr_b = new byte[Marshal.SizeOf(vmCHdr)]; - stream.Read(vmCHdr_b, 0, Marshal.SizeOf(vmCHdr)); + byte[] vmCHdrB = new byte[Marshal.SizeOf(vmCHdr)]; + stream.Read(vmCHdrB, 0, Marshal.SizeOf(vmCHdr)); headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vmCHdr)); - Marshal.Copy(vmCHdr_b, 0, headerPtr, Marshal.SizeOf(vmCHdr)); + Marshal.Copy(vmCHdrB, 0, headerPtr, Marshal.SizeOf(vmCHdr)); vmCHdr = (VMwareCowHeader)Marshal.PtrToStructure(headerPtr, typeof(VMwareCowHeader)); Marshal.FreeHGlobal(headerPtr); } - return DDFMagicBytes.SequenceEqual(ddfMagic) || vmEHdr.magic == VMwareExtentMagic || - vmCHdr.magic == VMwareCowMagic; + return ddfMagicBytes.SequenceEqual(ddfMagic) || vmEHdr.magic == VMWARE_EXTENT_MAGIC || + vmCHdr.magic == VMWARE_COW_MAGIC; } stream.Seek(0, SeekOrigin.Begin); stream.Read(ddfMagic, 0, 0x15); - return DDFMagicBytes.SequenceEqual(ddfMagic); + return ddfMagicBytes.SequenceEqual(ddfMagic); } public override bool OpenImage(Filter imageFilter) @@ -266,10 +266,10 @@ namespace DiscImageChef.DiscImages if(stream.Length > Marshal.SizeOf(vmEHdr)) { stream.Seek(0, SeekOrigin.Begin); - byte[] vmEHdr_b = new byte[Marshal.SizeOf(vmEHdr)]; - stream.Read(vmEHdr_b, 0, Marshal.SizeOf(vmEHdr)); + byte[] vmEHdrB = new byte[Marshal.SizeOf(vmEHdr)]; + stream.Read(vmEHdrB, 0, Marshal.SizeOf(vmEHdr)); IntPtr headerPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vmEHdr)); - Marshal.Copy(vmEHdr_b, 0, headerPtr, Marshal.SizeOf(vmEHdr)); + Marshal.Copy(vmEHdrB, 0, headerPtr, Marshal.SizeOf(vmEHdr)); vmEHdr = (VMwareExtentHeader)Marshal.PtrToStructure(headerPtr, typeof(VMwareExtentHeader)); Marshal.FreeHGlobal(headerPtr); } @@ -277,10 +277,10 @@ namespace DiscImageChef.DiscImages if(stream.Length > Marshal.SizeOf(vmCHdr)) { stream.Seek(0, SeekOrigin.Begin); - byte[] vmCHdr_b = new byte[Marshal.SizeOf(vmCHdr)]; - stream.Read(vmCHdr_b, 0, Marshal.SizeOf(vmCHdr)); + byte[] vmCHdrB = new byte[Marshal.SizeOf(vmCHdr)]; + stream.Read(vmCHdrB, 0, Marshal.SizeOf(vmCHdr)); IntPtr cowPtr = Marshal.AllocHGlobal(Marshal.SizeOf(vmCHdr)); - Marshal.Copy(vmCHdr_b, 0, cowPtr, Marshal.SizeOf(vmCHdr)); + Marshal.Copy(vmCHdrB, 0, cowPtr, Marshal.SizeOf(vmCHdr)); vmCHdr = (VMwareCowHeader)Marshal.PtrToStructure(cowPtr, typeof(VMwareCowHeader)); Marshal.FreeHGlobal(cowPtr); } @@ -289,7 +289,7 @@ namespace DiscImageChef.DiscImages bool vmEHdrSet = false; bool cowD = false; - if(vmEHdr.magic == VMwareExtentMagic) + if(vmEHdr.magic == VMWARE_EXTENT_MAGIC) { vmEHdrSet = true; gdFilter = imageFilter; @@ -297,15 +297,15 @@ namespace DiscImageChef.DiscImages if(vmEHdr.descriptorOffset == 0 || vmEHdr.descriptorSize == 0) throw new Exception("Please open VMDK descriptor."); - byte[] ddfEmbed = new byte[vmEHdr.descriptorSize * sectorSize]; + byte[] ddfEmbed = new byte[vmEHdr.descriptorSize * SECTOR_SIZE]; - stream.Seek((long)(vmEHdr.descriptorOffset * sectorSize), SeekOrigin.Begin); + stream.Seek((long)(vmEHdr.descriptorOffset * SECTOR_SIZE), SeekOrigin.Begin); stream.Read(ddfEmbed, 0, ddfEmbed.Length); ddfStream.Write(ddfEmbed, 0, ddfEmbed.Length); embedded = true; } - else if(vmCHdr.magic == VMwareCowMagic) + else if(vmCHdr.magic == VMWARE_COW_MAGIC) { gdFilter = imageFilter; cowD = true; @@ -316,7 +316,7 @@ namespace DiscImageChef.DiscImages stream.Seek(0, SeekOrigin.Begin); stream.Read(ddfMagic, 0, 0x15); - if(!DDFMagicBytes.SequenceEqual(ddfMagic)) throw new Exception("Not a descriptor."); + if(!ddfMagicBytes.SequenceEqual(ddfMagic)) throw new Exception("Not a descriptor."); stream.Seek(0, SeekOrigin.Begin); byte[] ddfExternal = new byte[imageFilter.GetDataForkLength()]; @@ -349,136 +349,136 @@ namespace DiscImageChef.DiscImages { VMwareCowHeader extHdrCow = new VMwareCowHeader(); extentStream.Seek(0, SeekOrigin.Begin); - byte[] vmCHdr_b = new byte[Marshal.SizeOf(extHdrCow)]; - extentStream.Read(vmCHdr_b, 0, Marshal.SizeOf(extHdrCow)); + byte[] vmCHdrB = new byte[Marshal.SizeOf(extHdrCow)]; + extentStream.Read(vmCHdrB, 0, Marshal.SizeOf(extHdrCow)); IntPtr cowPtr = Marshal.AllocHGlobal(Marshal.SizeOf(extHdrCow)); - Marshal.Copy(vmCHdr_b, 0, cowPtr, Marshal.SizeOf(extHdrCow)); + Marshal.Copy(vmCHdrB, 0, cowPtr, Marshal.SizeOf(extHdrCow)); extHdrCow = (VMwareCowHeader)Marshal.PtrToStructure(cowPtr, typeof(VMwareCowHeader)); Marshal.FreeHGlobal(cowPtr); - if(extHdrCow.magic != VMwareCowMagic) break; + if(extHdrCow.magic != VMWARE_COW_MAGIC) break; VMwareExtent newExtent = new VMwareExtent(); - newExtent.access = "RW"; - newExtent.filter = extentFilter; - newExtent.filename = extentFilter.GetFilename(); - newExtent.offset = 0; - newExtent.sectors = extHdrCow.sectors; - newExtent.type = "SPARSE"; + newExtent.Access = "RW"; + newExtent.Filter = extentFilter; + newExtent.Filename = extentFilter.GetFilename(); + newExtent.Offset = 0; + newExtent.Sectors = extHdrCow.sectors; + newExtent.Type = "SPARSE"; - DicConsole.DebugWriteLine("VMware plugin", "{0} {1} {2} \"{3}\" {4}", newExtent.access, - newExtent.sectors, newExtent.type, newExtent.filename, - newExtent.offset); + DicConsole.DebugWriteLine("VMware plugin", "{0} {1} {2} \"{3}\" {4}", newExtent.Access, + newExtent.Sectors, newExtent.Type, newExtent.Filename, + newExtent.Offset); extents.Add(currentSector, newExtent); - currentSector += newExtent.sectors; + currentSector += newExtent.Sectors; } else break; cowCount++; } - imageType = VMTypeSplitSparse; + imageType = VM_TYPE_SPLIT_SPARSE; } else { ddfStream.Seek(0, SeekOrigin.Begin); - Regex RegexVersion = new Regex(VersionRegEx); - Regex RegexCid = new Regex(CidRegEx); - Regex RegexParentCid = new Regex(ParenCidRegEx); - Regex RegexType = new Regex(TypeRegEx); - Regex RegexExtent = new Regex(ExtentRegEx); - Regex RegexParent = new Regex(ParentRegEx); - Regex RegexCylinders = new Regex(DDBCylindersRegEx); - Regex RegexHeads = new Regex(DDBHeadsRegex); - Regex RegexSectors = new Regex(DDBSectorsRegEx); + Regex regexVersion = new Regex(VERSION_REGEX); + Regex regexCid = new Regex(CID_REGEX); + Regex regexParentCid = new Regex(PAREN_CID_REGEX); + Regex regexType = new Regex(TYPE_REGEX); + Regex regexExtent = new Regex(EXTENT_REGEX); + Regex regexParent = new Regex(PARENT_REGEX); + Regex regexCylinders = new Regex(DDB_CYLINDERS_REGEX); + Regex regexHeads = new Regex(DDB_HEADS_REGEX); + Regex regexSectors = new Regex(DDB_SECTORS_REGEX); - Match MatchVersion; - Match MatchCid; - Match MatchParentCid; - Match MatchType; - Match MatchExtent; - Match MatchParent; - Match MatchCylinders; - Match MatchHeads; - Match MatchSectors; + Match matchVersion; + Match matchCid; + Match matchParentCid; + Match matchType; + Match matchExtent; + Match matchParent; + Match matchCylinders; + Match matchHeads; + Match matchSectors; StreamReader ddfStreamRdr = new StreamReader(ddfStream); while(ddfStreamRdr.Peek() >= 0) { - string _line = ddfStreamRdr.ReadLine(); + string line = ddfStreamRdr.ReadLine(); - MatchVersion = RegexVersion.Match(_line); - MatchCid = RegexCid.Match(_line); - MatchParentCid = RegexParentCid.Match(_line); - MatchType = RegexType.Match(_line); - MatchExtent = RegexExtent.Match(_line); - MatchParent = RegexParent.Match(_line); - MatchCylinders = RegexCylinders.Match(_line); - MatchHeads = RegexHeads.Match(_line); - MatchSectors = RegexSectors.Match(_line); + matchVersion = regexVersion.Match(line); + matchCid = regexCid.Match(line); + matchParentCid = regexParentCid.Match(line); + matchType = regexType.Match(line); + matchExtent = regexExtent.Match(line); + matchParent = regexParent.Match(line); + matchCylinders = regexCylinders.Match(line); + matchHeads = regexHeads.Match(line); + matchSectors = regexSectors.Match(line); - if(MatchVersion.Success) + if(matchVersion.Success) { - uint.TryParse(MatchVersion.Groups["version"].Value, out version); + uint.TryParse(matchVersion.Groups["version"].Value, out version); DicConsole.DebugWriteLine("VMware plugin", "version = {0}", version); } - else if(MatchCid.Success) + else if(matchCid.Success) { - cid = Convert.ToUInt32(MatchCid.Groups["cid"].Value, 16); + cid = Convert.ToUInt32(matchCid.Groups["cid"].Value, 16); DicConsole.DebugWriteLine("VMware plugin", "cid = {0:x8}", cid); } - else if(MatchParentCid.Success) + else if(matchParentCid.Success) { - parentCid = Convert.ToUInt32(MatchParentCid.Groups["cid"].Value, 16); + parentCid = Convert.ToUInt32(matchParentCid.Groups["cid"].Value, 16); DicConsole.DebugWriteLine("VMware plugin", "parentCID = {0:x8}", parentCid); } - else if(MatchType.Success) + else if(matchType.Success) { - imageType = MatchType.Groups["type"].Value; + imageType = matchType.Groups["type"].Value; DicConsole.DebugWriteLine("VMware plugin", "createType = \"{0}\"", imageType); } - else if(MatchExtent.Success) + else if(matchExtent.Success) { VMwareExtent newExtent = new VMwareExtent(); - newExtent.access = MatchExtent.Groups["access"].Value; + newExtent.Access = matchExtent.Groups["access"].Value; if(!embedded) - newExtent.filter = + newExtent.Filter = new FiltersList() .GetFilter(Path.Combine(Path.GetDirectoryName(imageFilter.GetBasePath()), - MatchExtent.Groups["filename"].Value)); - else newExtent.filter = imageFilter; - uint.TryParse(MatchExtent.Groups["offset"].Value, out newExtent.offset); - uint.TryParse(MatchExtent.Groups["sectors"].Value, out newExtent.sectors); - newExtent.type = MatchExtent.Groups["type"].Value; - DicConsole.DebugWriteLine("VMware plugin", "{0} {1} {2} \"{3}\" {4}", newExtent.access, - newExtent.sectors, newExtent.type, newExtent.filename, - newExtent.offset); + matchExtent.Groups["filename"].Value)); + else newExtent.Filter = imageFilter; + uint.TryParse(matchExtent.Groups["offset"].Value, out newExtent.Offset); + uint.TryParse(matchExtent.Groups["sectors"].Value, out newExtent.Sectors); + newExtent.Type = matchExtent.Groups["type"].Value; + DicConsole.DebugWriteLine("VMware plugin", "{0} {1} {2} \"{3}\" {4}", newExtent.Access, + newExtent.Sectors, newExtent.Type, newExtent.Filename, + newExtent.Offset); extents.Add(currentSector, newExtent); - currentSector += newExtent.sectors; + currentSector += newExtent.Sectors; } - else if(MatchParent.Success) + else if(matchParent.Success) { - parentName = MatchParent.Groups["filename"].Value; + parentName = matchParent.Groups["filename"].Value; DicConsole.DebugWriteLine("VMware plugin", "parentFileNameHint = \"{0}\"", parentName); hasParent = true; } - else if(MatchCylinders.Success) + else if(matchCylinders.Success) { - uint.TryParse(MatchCylinders.Groups["cylinders"].Value, out ImageInfo.cylinders); + uint.TryParse(matchCylinders.Groups["cylinders"].Value, out ImageInfo.Cylinders); matchedCyls = true; } - else if(MatchHeads.Success) + else if(matchHeads.Success) { - uint.TryParse(MatchHeads.Groups["heads"].Value, out ImageInfo.heads); + uint.TryParse(matchHeads.Groups["heads"].Value, out ImageInfo.Heads); matchedHds = true; } - else if(MatchSectors.Success) + else if(matchSectors.Success) { - uint.TryParse(MatchSectors.Groups["sectors"].Value, out ImageInfo.sectorsPerTrack); + uint.TryParse(matchSectors.Groups["sectors"].Value, out ImageInfo.SectorsPerTrack); matchedSpt = true; } } @@ -488,24 +488,24 @@ namespace DiscImageChef.DiscImages switch(imageType) { - case VMTypeMonoSparse: //"monolithicSparse"; - case VMTypeMonoFlat: //"monolithicFlat"; - case VMTypeSplitSparse: //"twoGbMaxExtentSparse"; - case VMTypeSplitFlat: //"twoGbMaxExtentFlat"; - case VMFSTypeFlat: //"vmfsPreallocated"; - case VMFSTypeZero: //"vmfsEagerZeroedThick"; - case VMFSTypeThin: //"vmfsThin"; - case VMFSTypeSparse: //"vmfsSparse"; - case VMFSType: //"vmfs"; - case VMTypeStream: //"streamOptimized"; + case VM_TYPE_MONO_SPARSE: //"monolithicSparse"; + case VM_TYPE_MONO_FLAT: //"monolithicFlat"; + case VM_TYPE_SPLIT_SPARSE: //"twoGbMaxExtentSparse"; + case VM_TYPE_SPLIT_FLAT: //"twoGbMaxExtentFlat"; + case VMFS_TYPE_FLAT: //"vmfsPreallocated"; + case VMFS_TYPE_ZERO: //"vmfsEagerZeroedThick"; + case VMFS_TYPE_THIN: //"vmfsThin"; + case VMFS_TYPE_SPARSE: //"vmfsSparse"; + case VMFS_TYPE: //"vmfs"; + case VM_TYPE_STREAM: //"streamOptimized"; break; - case VMTypeFullDevice: //"fullDevice"; - case VMTypePartDevice: //"partitionedDevice"; - case VMFSTypeRDM: //"vmfsRDM"; - case VMFSTypeRDMOld: //"vmfsRawDeviceMap"; - case VMFSTypeRDMP: //"vmfsRDMP"; - case VMFSTypeRDMPOld: //"vmfsPassthroughRawDeviceMap"; - case VMFSTypeRaw: //"vmfsRaw"; + case VM_TYPE_FULL_DEVICE: //"fullDevice"; + case VM_TYPE_PART_DEVICE: //"partitionedDevice"; + case VMFS_TYPE_RDM: //"vmfsRDM"; + case VMFS_TYPE_RDM_OLD: //"vmfsRawDeviceMap"; + case VMFS_TYPE_RDMP: //"vmfsRDMP"; + case VMFS_TYPE_RDMP_OLD: //"vmfsPassthroughRawDeviceMap"; + case VMFS_TYPE_RAW: //"vmfsRaw"; throw new ImageNotSupportedException("Raw device image files are not supported, try accessing the device directly."); default: @@ -517,43 +517,43 @@ namespace DiscImageChef.DiscImages foreach(VMwareExtent extent in extents.Values) { - if(extent.filter == null) - throw new Exception(string.Format("Extent file {0} not found.", extent.filename)); + if(extent.Filter == null) + throw new Exception(string.Format("Extent file {0} not found.", extent.Filename)); - if(extent.access == "NOACCESS") throw new Exception("Cannot access NOACCESS extents ;)."); + if(extent.Access == "NOACCESS") throw new Exception("Cannot access NOACCESS extents ;)."); - if(extent.type != "FLAT" && extent.type != "ZERO" && extent.type != "VMFS" && !cowD) + if(extent.Type != "FLAT" && extent.Type != "ZERO" && extent.Type != "VMFS" && !cowD) { - Stream extentStream = extent.filter.GetDataForkStream(); + Stream extentStream = extent.Filter.GetDataForkStream(); extentStream.Seek(0, SeekOrigin.Begin); - if(extentStream.Length < sectorSize) - throw new Exception(string.Format("Extent {0} is too small.", extent.filename)); + if(extentStream.Length < SECTOR_SIZE) + throw new Exception(string.Format("Extent {0} is too small.", extent.Filename)); VMwareExtentHeader extentHdr = new VMwareExtentHeader(); - byte[] extentHdr_b = new byte[Marshal.SizeOf(extentHdr)]; - extentStream.Read(extentHdr_b, 0, Marshal.SizeOf(extentHdr)); + byte[] extentHdrB = new byte[Marshal.SizeOf(extentHdr)]; + extentStream.Read(extentHdrB, 0, Marshal.SizeOf(extentHdr)); IntPtr extentHdrPtr = Marshal.AllocHGlobal(Marshal.SizeOf(extentHdr)); - Marshal.Copy(extentHdr_b, 0, extentHdrPtr, Marshal.SizeOf(extentHdr)); + Marshal.Copy(extentHdrB, 0, extentHdrPtr, Marshal.SizeOf(extentHdr)); extentHdr = (VMwareExtentHeader)Marshal.PtrToStructure(extentHdrPtr, typeof(VMwareExtentHeader)); Marshal.FreeHGlobal(extentHdrPtr); - if(extentHdr.magic != VMwareExtentMagic) - throw new Exception(string.Format("{0} is not an VMware extent.", extent.filter)); + if(extentHdr.magic != VMWARE_EXTENT_MAGIC) + throw new Exception(string.Format("{0} is not an VMware extent.", extent.Filter)); - if(extentHdr.capacity < extent.sectors) + if(extentHdr.capacity < extent.Sectors) throw new Exception(string.Format("Extent contains incorrect number of sectors, {0}. {1} were expected", - extentHdr.capacity, extent.sectors)); + extentHdr.capacity, extent.Sectors)); // TODO: Support compressed extents - if(extentHdr.compression != CompressionNone) + if(extentHdr.compression != COMPRESSION_NONE) throw new ImageNotSupportedException("Compressed extents are not yet supported."); if(!vmEHdrSet) { vmEHdr = extentHdr; - gdFilter = extent.filter; + gdFilter = extent.Filter; vmEHdrSet = true; } @@ -565,12 +565,12 @@ namespace DiscImageChef.DiscImages throw new Exception("There are sparse extents but there is no header to find the grain tables, cannot proceed."); - ImageInfo.sectors = currentSector; + ImageInfo.Sectors = currentSector; uint grains = 0; uint gdEntries = 0; long gdOffset = 0; - uint GTEsPerGT = 0; + uint gtEsPerGt = 0; if(oneNoFlat && !cowD) { @@ -596,11 +596,11 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("VMware plugin", "vmEHdr.compression = 0x{0:X4}", vmEHdr.compression); grainSize = vmEHdr.grainSize; - grains = (uint)(ImageInfo.sectors / vmEHdr.grainSize) + 1; + grains = (uint)(ImageInfo.Sectors / vmEHdr.grainSize) + 1; gdEntries = grains / vmEHdr.GTEsPerGT; - GTEsPerGT = vmEHdr.GTEsPerGT; + gtEsPerGt = vmEHdr.GTEsPerGT; - if((vmEHdr.flags & FlagsUseRedundantTable) == FlagsUseRedundantTable) gdOffset = (long)vmEHdr.rgdOffset; + if((vmEHdr.flags & FLAGS_USE_REDUNDANT_TABLE) == FLAGS_USE_REDUNDANT_TABLE) gdOffset = (long)vmEHdr.rgdOffset; else gdOffset = (long)vmEHdr.gdOffset; } else if(oneNoFlat && cowD) @@ -624,12 +624,12 @@ namespace DiscImageChef.DiscImages DicConsole.DebugWriteLine("VMware plugin", "vmCHdr.uncleanShutdown = {0}", vmCHdr.uncleanShutdown); grainSize = vmCHdr.grainSize; - grains = (uint)(ImageInfo.sectors / vmCHdr.grainSize) + 1; + grains = (uint)(ImageInfo.Sectors / vmCHdr.grainSize) + 1; gdEntries = vmCHdr.numGDEntries; gdOffset = vmCHdr.gdOffset; - GTEsPerGT = grains / gdEntries; - ImageInfo.imageName = StringHandlers.CToString(vmCHdr.name); - ImageInfo.imageComments = StringHandlers.CToString(vmCHdr.description); + gtEsPerGt = grains / gdEntries; + ImageInfo.ImageName = StringHandlers.CToString(vmCHdr.name); + ImageInfo.ImageComments = StringHandlers.CToString(vmCHdr.description); version = vmCHdr.version; } @@ -637,12 +637,12 @@ namespace DiscImageChef.DiscImages { if(grains == 0 || gdEntries == 0) throw new Exception("Some error ocurred setting GD sizes"); - DicConsole.DebugWriteLine("VMware plugin", "{0} sectors in {1} grains in {2} tables", ImageInfo.sectors, + DicConsole.DebugWriteLine("VMware plugin", "{0} sectors in {1} grains in {2} tables", ImageInfo.Sectors, grains, gdEntries); Stream gdStream = gdFilter.GetDataForkStream(); - gdStream.Seek(gdOffset * sectorSize, SeekOrigin.Begin); + gdStream.Seek(gdOffset * SECTOR_SIZE, SeekOrigin.Begin); DicConsole.DebugWriteLine("VMware plugin", "Reading grain directory"); uint[] gd = new uint[gdEntries]; @@ -655,17 +655,17 @@ namespace DiscImageChef.DiscImages gTable = new uint[grains]; foreach(uint gtOff in gd) { - byte[] gtBytes = new byte[GTEsPerGT * 4]; - gdStream.Seek(gtOff * sectorSize, SeekOrigin.Begin); + byte[] gtBytes = new byte[gtEsPerGt * 4]; + gdStream.Seek(gtOff * SECTOR_SIZE, SeekOrigin.Begin); gdStream.Read(gtBytes, 0, gtBytes.Length); - for(int i = 0; i < GTEsPerGT; i++) + for(int i = 0; i < gtEsPerGt; i++) { gTable[currentGrain] = BitConverter.ToUInt32(gtBytes, i * 4); currentGrain++; } } - maxCachedGrains = (uint)(MaxCacheSize / (grainSize * sectorSize)); + maxCachedGrains = (uint)(MAX_CACHE_SIZE / (grainSize * SECTOR_SIZE)); grainCache = new Dictionary<ulong, byte[]>(); } @@ -684,28 +684,28 @@ namespace DiscImageChef.DiscImages sectorCache = new Dictionary<ulong, byte[]>(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectorSize = sectorSize; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.mediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = ImageInfo.sectors * sectorSize; + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.SectorSize = SECTOR_SIZE; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.MediaType = MediaType.GENERIC_HDD; + ImageInfo.ImageSize = ImageInfo.Sectors * SECTOR_SIZE; // VMDK version 1 started on VMware 4, so there is a previous version, "COWD" - if(cowD) ImageInfo.imageVersion = string.Format("{0}", version); - else ImageInfo.imageVersion = string.Format("{0}", version + 3); + if(cowD) ImageInfo.ImageVersion = string.Format("{0}", version); + else ImageInfo.ImageVersion = string.Format("{0}", version + 3); if(cowD) { - ImageInfo.cylinders = vmCHdr.cylinders; - ImageInfo.heads = vmCHdr.heads; - ImageInfo.sectorsPerTrack = vmCHdr.spt; + ImageInfo.Cylinders = vmCHdr.cylinders; + ImageInfo.Heads = vmCHdr.heads; + ImageInfo.SectorsPerTrack = vmCHdr.spt; } else if(!matchedCyls || !matchedHds || !matchedSpt) { - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; } return true; @@ -713,7 +713,7 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSector(ulong sectorAddress) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); @@ -741,9 +741,9 @@ namespace DiscImageChef.DiscImages Stream dataStream; - if(currentExtent.type == "ZERO") + if(currentExtent.Type == "ZERO") { - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -751,12 +751,12 @@ namespace DiscImageChef.DiscImages return sector; } - if(currentExtent.type == "FLAT" || currentExtent.type == "VMFS") + if(currentExtent.Type == "FLAT" || currentExtent.Type == "VMFS") { - dataStream = currentExtent.filter.GetDataForkStream(); - dataStream.Seek((long)((currentExtent.offset + (sectorAddress - extentStartSector)) * sectorSize), + dataStream = currentExtent.Filter.GetDataForkStream(); + dataStream.Seek((long)((currentExtent.Offset + (sectorAddress - extentStartSector)) * SECTOR_SIZE), SeekOrigin.Begin); - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; dataStream.Read(sector, 0, sector.Length); if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -766,7 +766,7 @@ namespace DiscImageChef.DiscImages } ulong index = sectorAddress / grainSize; - ulong secOff = (sectorAddress % grainSize) * sectorSize; + ulong secOff = (sectorAddress % grainSize) * SECTOR_SIZE; uint grainOff = gTable[index]; @@ -774,7 +774,7 @@ namespace DiscImageChef.DiscImages if(grainOff == 0 || grainOff == 1) { - sector = new byte[sectorSize]; + sector = new byte[SECTOR_SIZE]; if(sectorCache.Count >= maxCachedSectors) sectorCache.Clear(); @@ -782,13 +782,13 @@ namespace DiscImageChef.DiscImages return sector; } - byte[] grain = new byte[sectorSize * grainSize]; + byte[] grain = new byte[SECTOR_SIZE * grainSize]; if(!grainCache.TryGetValue(grainOff, out grain)) { - grain = new byte[sectorSize * grainSize]; - dataStream = currentExtent.filter.GetDataForkStream(); - dataStream.Seek((long)(((grainOff - extentStartSector) * sectorSize)), SeekOrigin.Begin); + grain = new byte[SECTOR_SIZE * grainSize]; + dataStream = currentExtent.Filter.GetDataForkStream(); + dataStream.Seek((long)(((grainOff - extentStartSector) * SECTOR_SIZE)), SeekOrigin.Begin); dataStream.Read(grain, 0, grain.Length); if(grainCache.Count >= maxCachedGrains) grainCache.Clear(); @@ -796,8 +796,8 @@ namespace DiscImageChef.DiscImages grainCache.Add(grainOff, grain); } - sector = new byte[sectorSize]; - Array.Copy(grain, (int)secOff, sector, 0, sectorSize); + sector = new byte[SECTOR_SIZE]; + Array.Copy(grain, (int)secOff, sector, 0, SECTOR_SIZE); if(sectorCache.Count > maxCachedSectors) sectorCache.Clear(); @@ -808,11 +808,11 @@ namespace DiscImageChef.DiscImages public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), string.Format("Sector address {0} not found", sectorAddress)); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); MemoryStream ms = new MemoryStream(); @@ -833,17 +833,17 @@ namespace DiscImageChef.DiscImages public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -853,47 +853,47 @@ namespace DiscImageChef.DiscImages public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } #region Unsupported features @@ -1037,18 +1037,18 @@ namespace DiscImageChef.DiscImages throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/Virtual98.cs b/DiscImageChef.DiscImages/Virtual98.cs index 941e7603e..795e7d3b4 100644 --- a/DiscImageChef.DiscImages/Virtual98.cs +++ b/DiscImageChef.DiscImages/Virtual98.cs @@ -40,7 +40,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { // Info from Neko Project II emulator public class Virtual98 : ImagePlugin @@ -67,33 +67,33 @@ namespace DiscImageChef.ImagePlugins public Virtual98() { Name = "Virtual98 Disk Image"; - PluginUUID = new Guid("C0CDE13D-04D0-4913-8740-AFAA44D0A107"); + PluginUuid = new Guid("C0CDE13D-04D0-4913-8740-AFAA44D0A107"); ImageInfo = new ImageInfo() { - readableSectorTags = new List<SectorTagType>(), - readableMediaTags = new List<MediaTagType>(), - imageHasPartitions = false, - imageHasSessions = false, - imageVersion = null, - imageApplication = null, - imageApplicationVersion = null, - imageCreator = null, - imageComments = null, - mediaManufacturer = null, - mediaModel = null, - mediaSerialNumber = null, - mediaBarcode = null, - mediaPartNumber = null, - mediaSequence = 0, - lastMediaSequence = 0, - driveManufacturer = null, - driveModel = null, - driveSerialNumber = null, - driveFirmwareRevision = null + ReadableSectorTags = new List<SectorTagType>(), + ReadableMediaTags = new List<MediaTagType>(), + ImageHasPartitions = false, + ImageHasSessions = false, + ImageVersion = null, + ImageApplication = null, + ImageApplicationVersion = null, + ImageCreator = null, + ImageComments = null, + MediaManufacturer = null, + MediaModel = null, + MediaSerialNumber = null, + MediaBarcode = null, + MediaPartNumber = null, + MediaSequence = 0, + LastMediaSequence = 0, + DriveManufacturer = null, + DriveModel = null, + DriveSerialNumber = null, + DriveFirmwareRevision = null }; } - Virtual98Header v98hdr; + Virtual98Header v98Hdr; Filter nhdImageFilter; public override bool IdentifyImage(Filter imageFilter) @@ -103,30 +103,30 @@ namespace DiscImageChef.ImagePlugins // Even if comment is supposedly ASCII, I'm pretty sure most emulators allow Shift-JIS to be used :p Encoding shiftjis = Encoding.GetEncoding("shift_jis"); - v98hdr = new Virtual98Header(); + v98Hdr = new Virtual98Header(); - if(stream.Length < Marshal.SizeOf(v98hdr)) return false; + if(stream.Length < Marshal.SizeOf(v98Hdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(v98hdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(v98Hdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); - v98hdr = (Virtual98Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Virtual98Header)); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); + v98Hdr = (Virtual98Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Virtual98Header)); handle.Free(); - if(!v98hdr.signature.SequenceEqual(signature)) return false; + if(!v98Hdr.signature.SequenceEqual(signature)) return false; DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.signature = \"{0}\"", - StringHandlers.CToString(v98hdr.signature, shiftjis)); + StringHandlers.CToString(v98Hdr.signature, shiftjis)); DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.comment = \"{0}\"", - StringHandlers.CToString(v98hdr.comment, shiftjis)); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.padding = {0}", v98hdr.padding); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.mbsize = {0}", v98hdr.mbsize); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.sectorsize = {0}", v98hdr.sectorsize); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.sectors = {0}", v98hdr.sectors); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.surfaces = {0}", v98hdr.surfaces); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.cylinders = {0}", v98hdr.cylinders); - DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.totals = {0}", v98hdr.totals); + StringHandlers.CToString(v98Hdr.comment, shiftjis)); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.padding = {0}", v98Hdr.padding); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.mbsize = {0}", v98Hdr.mbsize); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.sectorsize = {0}", v98Hdr.sectorsize); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.sectors = {0}", v98Hdr.sectors); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.surfaces = {0}", v98Hdr.surfaces); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.cylinders = {0}", v98Hdr.cylinders); + DicConsole.DebugWriteLine("Virtual98 plugin", "v98hdr.totals = {0}", v98Hdr.totals); return true; } @@ -138,30 +138,30 @@ namespace DiscImageChef.ImagePlugins // Even if comment is supposedly ASCII, I'm pretty sure most emulators allow Shift-JIS to be used :p Encoding shiftjis = Encoding.GetEncoding("shift_jis"); - v98hdr = new Virtual98Header(); + v98Hdr = new Virtual98Header(); - if(stream.Length < Marshal.SizeOf(v98hdr)) return false; + if(stream.Length < Marshal.SizeOf(v98Hdr)) return false; - byte[] hdr_b = new byte[Marshal.SizeOf(v98hdr)]; - stream.Read(hdr_b, 0, hdr_b.Length); + byte[] hdrB = new byte[Marshal.SizeOf(v98Hdr)]; + stream.Read(hdrB, 0, hdrB.Length); - GCHandle handle = GCHandle.Alloc(hdr_b, GCHandleType.Pinned); - v98hdr = (Virtual98Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Virtual98Header)); + GCHandle handle = GCHandle.Alloc(hdrB, GCHandleType.Pinned); + v98Hdr = (Virtual98Header)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(Virtual98Header)); handle.Free(); - ImageInfo.mediaType = MediaType.GENERIC_HDD; + ImageInfo.MediaType = MediaType.GENERIC_HDD; - ImageInfo.imageSize = (ulong)(stream.Length - 0xDC); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); - ImageInfo.sectors = v98hdr.totals; - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; - ImageInfo.sectorSize = v98hdr.sectorsize; - ImageInfo.cylinders = v98hdr.cylinders; - ImageInfo.heads = v98hdr.surfaces; - ImageInfo.sectorsPerTrack = v98hdr.sectors; - ImageInfo.imageComments = StringHandlers.CToString(v98hdr.comment, shiftjis); + ImageInfo.ImageSize = (ulong)(stream.Length - 0xDC); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.Sectors = v98Hdr.totals; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.SectorSize = v98Hdr.sectorsize; + ImageInfo.Cylinders = v98Hdr.cylinders; + ImageInfo.Heads = v98Hdr.surfaces; + ImageInfo.SectorsPerTrack = v98Hdr.sectors; + ImageInfo.ImageComments = StringHandlers.CToString(v98Hdr.comment, shiftjis); nhdImageFilter = imageFilter; @@ -175,17 +175,17 @@ namespace DiscImageChef.ImagePlugins public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override string GetImageFormat() @@ -195,47 +195,47 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override byte[] ReadSector(ulong sectorAddress) @@ -245,22 +245,22 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length) { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = nhdImageFilter.GetDataForkStream(); // V98 are lazy allocated - if((long)(0xDC + sectorAddress * ImageInfo.sectorSize) >= stream.Length) return buffer; + if((long)(0xDC + sectorAddress * ImageInfo.SectorSize) >= stream.Length) return buffer; - stream.Seek((long)(0xDC + sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)(0xDC + sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - int toRead = (int)(length * ImageInfo.sectorSize); + int toRead = (int)(length * ImageInfo.SectorSize); if(toRead + stream.Position > stream.Length) toRead = (int)(stream.Length - stream.Position); @@ -410,18 +410,18 @@ namespace DiscImageChef.ImagePlugins throw new FeatureUnsupportedImageException("Feature not supported by image format"); } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); - for(ulong i = 0; i < ImageInfo.sectors; i++) UnknownLBAs.Add(i); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); + for(ulong i = 0; i < ImageInfo.Sectors; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { throw new FeatureUnsupportedImageException("Feature not supported by image format"); } diff --git a/DiscImageChef.DiscImages/ZZZRawImage.cs b/DiscImageChef.DiscImages/ZZZRawImage.cs index af4961d8e..e549d3c7f 100644 --- a/DiscImageChef.DiscImages/ZZZRawImage.cs +++ b/DiscImageChef.DiscImages/ZZZRawImage.cs @@ -37,7 +37,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Filters; -namespace DiscImageChef.ImagePlugins +namespace DiscImageChef.DiscImages { public class ZZZRawImage : ImagePlugin { @@ -51,28 +51,28 @@ namespace DiscImageChef.ImagePlugins { Name = "Raw Disk Image"; // Non-random UUID to recognize this specific plugin - PluginUUID = new Guid("12345678-AAAA-BBBB-CCCC-123456789000"); + PluginUuid = new Guid("12345678-AAAA-BBBB-CCCC-123456789000"); ImageInfo = new ImageInfo(); - ImageInfo.readableSectorTags = new List<SectorTagType>(); - ImageInfo.readableMediaTags = new List<MediaTagType>(); - ImageInfo.imageHasPartitions = false; - ImageInfo.imageHasSessions = false; - ImageInfo.imageVersion = null; - ImageInfo.imageApplication = null; - ImageInfo.imageApplicationVersion = null; - ImageInfo.imageCreator = null; - ImageInfo.imageComments = null; - ImageInfo.mediaManufacturer = null; - ImageInfo.mediaModel = null; - ImageInfo.mediaSerialNumber = null; - ImageInfo.mediaBarcode = null; - ImageInfo.mediaPartNumber = null; - ImageInfo.mediaSequence = 0; - ImageInfo.lastMediaSequence = 0; - ImageInfo.driveManufacturer = null; - ImageInfo.driveModel = null; - ImageInfo.driveSerialNumber = null; - ImageInfo.driveFirmwareRevision = null; + ImageInfo.ReadableSectorTags = new List<SectorTagType>(); + ImageInfo.ReadableMediaTags = new List<MediaTagType>(); + ImageInfo.ImageHasPartitions = false; + ImageInfo.ImageHasSessions = false; + ImageInfo.ImageVersion = null; + ImageInfo.ImageApplication = null; + ImageInfo.ImageApplicationVersion = null; + ImageInfo.ImageCreator = null; + ImageInfo.ImageComments = null; + ImageInfo.MediaManufacturer = null; + ImageInfo.MediaModel = null; + ImageInfo.MediaSerialNumber = null; + ImageInfo.MediaBarcode = null; + ImageInfo.MediaPartNumber = null; + ImageInfo.MediaSequence = 0; + ImageInfo.LastMediaSequence = 0; + ImageInfo.DriveManufacturer = null; + ImageInfo.DriveModel = null; + ImageInfo.DriveSerialNumber = null; + ImageInfo.DriveFirmwareRevision = null; } public override bool IdentifyImage(Filter imageFilter) @@ -82,7 +82,7 @@ namespace DiscImageChef.ImagePlugins { extension = Path.GetExtension(imageFilter.GetFilename()).ToLower(); - if(extension == ".hdf" && ImageInfo.imageSize % 256 == 0) return true; + if(extension == ".hdf" && ImageInfo.ImageSize % 256 == 0) return true; // Check known disk sizes with sectors smaller than 512 switch(imageFilter.GetDataForkLength()) @@ -123,13 +123,13 @@ namespace DiscImageChef.ImagePlugins stream.Seek(0, SeekOrigin.Begin); extension = Path.GetExtension(imageFilter.GetFilename()).ToLower(); - if(extension == ".iso" && (imageFilter.GetDataForkLength() % 2048) == 0) ImageInfo.sectorSize = 2048; - else if(extension == ".d81" && imageFilter.GetDataForkLength() == 819200) ImageInfo.sectorSize = 256; + if(extension == ".iso" && (imageFilter.GetDataForkLength() % 2048) == 0) ImageInfo.SectorSize = 2048; + else if(extension == ".d81" && imageFilter.GetDataForkLength() == 819200) ImageInfo.SectorSize = 256; else if((extension == ".adf" || extension == ".adl" || extension == ".ssd" || extension == ".dsd") && (imageFilter.GetDataForkLength() == 163840 || imageFilter.GetDataForkLength() == 327680 || - imageFilter.GetDataForkLength() == 655360)) ImageInfo.sectorSize = 256; + imageFilter.GetDataForkLength() == 655360)) ImageInfo.SectorSize = 256; else if((extension == ".adf" || extension == ".adl") && imageFilter.GetDataForkLength() == 819200) - ImageInfo.sectorSize = 1024; + ImageInfo.SectorSize = 1024; else { switch(imageFilter.GetDataForkLength()) @@ -139,7 +139,7 @@ namespace DiscImageChef.ImagePlugins case 495872: case 92160: case 133120: - ImageInfo.sectorSize = 128; + ImageInfo.SectorSize = 128; break; case 116480: case 287488: // T0S0 = 128bps @@ -167,130 +167,130 @@ namespace DiscImageChef.ImagePlugins case 822400: #endregion Commodore - ImageInfo.sectorSize = 256; + ImageInfo.SectorSize = 256; break; case 81664: - ImageInfo.sectorSize = 319; + ImageInfo.SectorSize = 319; break; case 306432: // T0S0 = 128bps case 1146624: // T0S0 = 128bps, T0S1 = 256bps case 1177344: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectorSize = 512; + ImageInfo.SectorSize = 512; break; case 1222400: // T0S0 = 128bps, T0S1 = 256bps case 1304320: // T0S0 = 128bps, T0S1 = 256bps case 1255168: // T0S0 = 128bps, T0S1 = 256bps case 1261568: case 1638400: - ImageInfo.sectorSize = 1024; + ImageInfo.SectorSize = 1024; break; default: - ImageInfo.sectorSize = 512; + ImageInfo.SectorSize = 512; break; } } - ImageInfo.imageSize = (ulong)imageFilter.GetDataForkLength(); - ImageInfo.imageCreationTime = imageFilter.GetCreationTime(); - ImageInfo.imageLastModificationTime = imageFilter.GetLastWriteTime(); - ImageInfo.imageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); + ImageInfo.ImageSize = (ulong)imageFilter.GetDataForkLength(); + ImageInfo.ImageCreationTime = imageFilter.GetCreationTime(); + ImageInfo.ImageLastModificationTime = imageFilter.GetLastWriteTime(); + ImageInfo.ImageName = Path.GetFileNameWithoutExtension(imageFilter.GetFilename()); differentTrackZeroSize = false; rawImageFilter = imageFilter; switch(imageFilter.GetDataForkLength()) { case 242944: - ImageInfo.sectors = 1898; + ImageInfo.Sectors = 1898; break; case 256256: - ImageInfo.sectors = 2002; + ImageInfo.Sectors = 2002; break; case 495872: - ImageInfo.sectors = 3874; + ImageInfo.Sectors = 3874; break; case 116480: - ImageInfo.sectors = 455; + ImageInfo.Sectors = 455; break; case 287488: // T0S0 = 128bps - ImageInfo.sectors = 1136; + ImageInfo.Sectors = 1136; differentTrackZeroSize = true; break; case 988416: // T0S0 = 128bps - ImageInfo.sectors = 3874; + ImageInfo.Sectors = 3874; differentTrackZeroSize = true; break; case 995072: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 3900; + ImageInfo.Sectors = 3900; differentTrackZeroSize = true; break; case 1021696: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 4004; + ImageInfo.Sectors = 4004; differentTrackZeroSize = true; break; case 81664: - ImageInfo.sectors = 256; + ImageInfo.Sectors = 256; break; case 306432: // T0S0 = 128bps - ImageInfo.sectors = 618; + ImageInfo.Sectors = 618; differentTrackZeroSize = true; break; case 1146624: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 2272; + ImageInfo.Sectors = 2272; differentTrackZeroSize = true; break; case 1177344: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 2332; + ImageInfo.Sectors = 2332; differentTrackZeroSize = true; break; case 1222400: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 1236; + ImageInfo.Sectors = 1236; differentTrackZeroSize = true; break; case 1304320: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 1316; + ImageInfo.Sectors = 1316; differentTrackZeroSize = true; break; case 1255168: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 1268; + ImageInfo.Sectors = 1268; differentTrackZeroSize = true; break; case 80384: // T0S0 = 128bps - ImageInfo.sectors = 322; + ImageInfo.Sectors = 322; differentTrackZeroSize = true; break; case 325632: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 1280; + ImageInfo.Sectors = 1280; differentTrackZeroSize = true; break; case 653312: // T0S0 = 128bps, T0S1 = 256bps - ImageInfo.sectors = 2560; + ImageInfo.Sectors = 2560; differentTrackZeroSize = true; break; case 1880064: // IBM XDF, 3,5", real number of sectors - ImageInfo.sectors = 670; - ImageInfo.sectorSize = 8192; // Biggest sector size + ImageInfo.Sectors = 670; + ImageInfo.SectorSize = 8192; // Biggest sector size differentTrackZeroSize = true; break; case 175531: - ImageInfo.sectors = 683; + ImageInfo.Sectors = 683; break; case 197375: - ImageInfo.sectors = 768; + ImageInfo.Sectors = 768; break; case 351062: - ImageInfo.sectors = 1366; + ImageInfo.Sectors = 1366; break; case 822400: - ImageInfo.sectors = 3200; + ImageInfo.Sectors = 3200; break; default: - ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize; + ImageInfo.Sectors = ImageInfo.ImageSize / ImageInfo.SectorSize; break; } - ImageInfo.mediaType = CalculateDiskType(); + ImageInfo.MediaType = CalculateDiskType(); - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.CD: case MediaType.DVDPR: @@ -299,349 +299,349 @@ namespace DiscImageChef.ImagePlugins case MediaType.DVDPRDL: case MediaType.BDR: case MediaType.BDRXL: - ImageInfo.xmlMediaType = XmlMediaType.OpticalDisc; + ImageInfo.XmlMediaType = XmlMediaType.OpticalDisc; break; default: - ImageInfo.xmlMediaType = XmlMediaType.BlockMedia; + ImageInfo.XmlMediaType = XmlMediaType.BlockMedia; break; } // Sharp X68000 SASI hard disks if(extension == ".hdf") { - if(ImageInfo.imageSize % 256 == 0) + if(ImageInfo.ImageSize % 256 == 0) { - ImageInfo.sectorSize = 256; - ImageInfo.sectors = ImageInfo.imageSize / ImageInfo.sectorSize; - ImageInfo.mediaType = MediaType.GENERIC_HDD; + ImageInfo.SectorSize = 256; + ImageInfo.Sectors = ImageInfo.ImageSize / ImageInfo.SectorSize; + ImageInfo.MediaType = MediaType.GENERIC_HDD; } } - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { - ImageInfo.imageHasSessions = true; - ImageInfo.imageHasPartitions = true; + ImageInfo.ImageHasSessions = true; + ImageInfo.ImageHasPartitions = true; } - DicConsole.VerboseWriteLine("Raw disk image contains a disk of type {0}", ImageInfo.mediaType); + DicConsole.VerboseWriteLine("Raw disk image contains a disk of type {0}", ImageInfo.MediaType); - switch(ImageInfo.mediaType) + switch(ImageInfo.MediaType) { case MediaType.ACORN_35_DS_DD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 5; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 5; break; case MediaType.ACORN_35_DS_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.ACORN_525_DS_DD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.ACORN_525_SS_DD_40: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.ACORN_525_SS_DD_80: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.ACORN_525_SS_SD_40: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.ACORN_525_SS_SD_80: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.Apple32DS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 13; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 13; break; case MediaType.Apple32SS: - ImageInfo.cylinders = 36; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 13; + ImageInfo.Cylinders = 36; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 13; break; case MediaType.Apple33DS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.Apple33SS: - ImageInfo.cylinders = 35; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.AppleSonyDS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.AppleSonySS: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.ATARI_35_DS_DD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.ATARI_35_DS_DD_11: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 11; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 11; break; case MediaType.ATARI_35_SS_DD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.ATARI_35_SS_DD_11: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 11; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 11; break; case MediaType.ATARI_525_ED: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.ATARI_525_SD: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 18; break; case MediaType.CBM_35_DD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.CBM_AMIGA_35_DD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 11; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 11; break; case MediaType.CBM_AMIGA_35_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 22; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 22; break; case MediaType.DMF: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 21; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 21; break; case MediaType.DOS_35_DS_DD_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.Apricot_35: - ImageInfo.cylinders = 70; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 70; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_35_ED: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 36; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 36; break; case MediaType.DOS_35_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 18; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 18; break; case MediaType.DOS_35_SS_DD_9: - ImageInfo.cylinders = 80; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_525_DS_DD_8: - ImageInfo.cylinders = 40; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.DOS_525_DS_DD_9: - ImageInfo.cylinders = 40; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.DOS_525_HD: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.DOS_525_SS_DD_8: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.DOS_525_SS_DD_9: - ImageInfo.cylinders = 40; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.ECMA_54: - ImageInfo.cylinders = 77; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.ECMA_59: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.ECMA_66: - ImageInfo.cylinders = 35; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 9; + ImageInfo.Cylinders = 35; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 9; break; case MediaType.ECMA_69_8: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.ECMA_70: - ImageInfo.cylinders = 40; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 40; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.ECMA_78: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 16; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 16; break; case MediaType.ECMA_99_15: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.ECMA_99_26: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.ECMA_99_8: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.FDFORMAT_35_DD: - ImageInfo.cylinders = 82; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 10; + ImageInfo.Cylinders = 82; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 10; break; case MediaType.FDFORMAT_35_HD: - ImageInfo.cylinders = 82; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 21; + ImageInfo.Cylinders = 82; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 21; break; case MediaType.FDFORMAT_525_HD: - ImageInfo.cylinders = 82; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 17; + ImageInfo.Cylinders = 82; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 17; break; case MediaType.IBM23FD: - ImageInfo.cylinders = 32; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 32; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.IBM33FD_128: - ImageInfo.cylinders = 73; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 73; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.IBM33FD_256: - ImageInfo.cylinders = 74; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.IBM33FD_512: - ImageInfo.cylinders = 74; - ImageInfo.heads = 1; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 1; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.IBM43FD_128: - ImageInfo.cylinders = 74; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.IBM43FD_256: - ImageInfo.cylinders = 74; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.IBM53FD_1024: - ImageInfo.cylinders = 74; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.IBM53FD_256: - ImageInfo.cylinders = 74; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 26; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 26; break; case MediaType.IBM53FD_512: - ImageInfo.cylinders = 74; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 15; + ImageInfo.Cylinders = 74; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 15; break; case MediaType.NEC_35_TD: - ImageInfo.cylinders = 240; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 38; + ImageInfo.Cylinders = 240; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 38; break; case MediaType.NEC_525_HD: - ImageInfo.cylinders = 77; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 8; + ImageInfo.Cylinders = 77; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 8; break; case MediaType.XDF_35: - ImageInfo.cylinders = 80; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 23; + ImageInfo.Cylinders = 80; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 23; break; // Following ones are what the device itself report, not the physical geometry case MediaType.Jaz: - ImageInfo.cylinders = 1021; - ImageInfo.heads = 64; - ImageInfo.sectorsPerTrack = 32; + ImageInfo.Cylinders = 1021; + ImageInfo.Heads = 64; + ImageInfo.SectorsPerTrack = 32; break; case MediaType.PocketZip: - ImageInfo.cylinders = 154; - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 32; + ImageInfo.Cylinders = 154; + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 32; break; case MediaType.LS120: - ImageInfo.cylinders = 963; - ImageInfo.heads = 8; - ImageInfo.sectorsPerTrack = 32; + ImageInfo.Cylinders = 963; + ImageInfo.Heads = 8; + ImageInfo.SectorsPerTrack = 32; break; case MediaType.LS240: - ImageInfo.cylinders = 262; - ImageInfo.heads = 32; - ImageInfo.sectorsPerTrack = 56; + ImageInfo.Cylinders = 262; + ImageInfo.Heads = 32; + ImageInfo.SectorsPerTrack = 56; break; case MediaType.FD32MB: - ImageInfo.cylinders = 1024; - ImageInfo.heads = 2; - ImageInfo.sectorsPerTrack = 32; + ImageInfo.Cylinders = 1024; + ImageInfo.Heads = 2; + ImageInfo.SectorsPerTrack = 32; break; default: - ImageInfo.cylinders = (uint)((ImageInfo.sectors / 16) / 63); - ImageInfo.heads = 16; - ImageInfo.sectorsPerTrack = 63; + ImageInfo.Cylinders = (uint)((ImageInfo.Sectors / 16) / 63); + ImageInfo.Heads = 16; + ImageInfo.SectorsPerTrack = 63; break; } @@ -650,22 +650,22 @@ namespace DiscImageChef.ImagePlugins public override bool ImageHasPartitions() { - return ImageInfo.imageHasPartitions; + return ImageInfo.ImageHasPartitions; } public override ulong GetImageSize() { - return ImageInfo.imageSize; + return ImageInfo.ImageSize; } public override ulong GetSectors() { - return ImageInfo.sectors; + return ImageInfo.Sectors; } public override uint GetSectorSize() { - return ImageInfo.sectorSize; + return ImageInfo.SectorSize; } public override byte[] ReadSector(ulong sectorAddress) @@ -678,19 +678,19 @@ namespace DiscImageChef.ImagePlugins if(differentTrackZeroSize) { throw new NotImplementedException("Not yet implemented"); } else { - if(sectorAddress > ImageInfo.sectors - 1) + if(sectorAddress > ImageInfo.Sectors - 1) throw new ArgumentOutOfRangeException(nameof(sectorAddress), "Sector address not found"); - if(sectorAddress + length > ImageInfo.sectors) + if(sectorAddress + length > ImageInfo.Sectors) throw new ArgumentOutOfRangeException(nameof(length), "Requested more sectors than available"); - byte[] buffer = new byte[length * ImageInfo.sectorSize]; + byte[] buffer = new byte[length * ImageInfo.SectorSize]; Stream stream = rawImageFilter.GetDataForkStream(); - stream.Seek((long)(sectorAddress * ImageInfo.sectorSize), SeekOrigin.Begin); + stream.Seek((long)(sectorAddress * ImageInfo.SectorSize), SeekOrigin.Begin); - stream.Read(buffer, 0, (int)(length * ImageInfo.sectorSize)); + stream.Read(buffer, 0, (int)(length * ImageInfo.SectorSize)); return buffer; } @@ -703,22 +703,22 @@ namespace DiscImageChef.ImagePlugins public override DateTime GetImageCreationTime() { - return ImageInfo.imageCreationTime; + return ImageInfo.ImageCreationTime; } public override DateTime GetImageLastModificationTime() { - return ImageInfo.imageLastModificationTime; + return ImageInfo.ImageLastModificationTime; } public override string GetImageName() { - return ImageInfo.imageName; + return ImageInfo.ImageName; } public override MediaType GetMediaType() { - return ImageInfo.mediaType; + return ImageInfo.MediaType; } public override bool? VerifySector(ulong sectorAddress) @@ -731,24 +731,24 @@ namespace DiscImageChef.ImagePlugins return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } - public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> FailingLBAs, - out List<ulong> UnknownLBAs) + public override bool? VerifySectors(ulong sectorAddress, uint length, uint track, out List<ulong> failingLbas, + out List<ulong> unknownLbas) { - FailingLBAs = new List<ulong>(); - UnknownLBAs = new List<ulong>(); + failingLbas = new List<ulong>(); + unknownLbas = new List<ulong>(); - for(ulong i = sectorAddress; i < sectorAddress + length; i++) UnknownLBAs.Add(i); + for(ulong i = sectorAddress; i < sectorAddress + length; i++) unknownLbas.Add(i); return null; } @@ -760,15 +760,15 @@ namespace DiscImageChef.ImagePlugins public override List<Track> GetTracks() { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { Track trk = new Track(); - trk.TrackBytesPerSector = (int)ImageInfo.sectorSize; - trk.TrackEndSector = ImageInfo.sectors - 1; + trk.TrackBytesPerSector = (int)ImageInfo.SectorSize; + trk.TrackEndSector = ImageInfo.Sectors - 1; trk.TrackFile = rawImageFilter.GetFilename(); trk.TrackFileOffset = 0; trk.TrackFileType = "BINARY"; - trk.TrackRawBytesPerSector = (int)ImageInfo.sectorSize; + trk.TrackRawBytesPerSector = (int)ImageInfo.SectorSize; trk.TrackSequence = 1; trk.TrackStartSector = 0; trk.TrackSubchannelType = TrackSubchannelType.None; @@ -784,19 +784,19 @@ namespace DiscImageChef.ImagePlugins public override List<Track> GetSessionTracks(Session session) { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { if(session.SessionSequence != 1) throw new ArgumentOutOfRangeException(nameof(session), "Only a single session is supported"); Track trk = new Track(); - trk.TrackBytesPerSector = (int)ImageInfo.sectorSize; - trk.TrackEndSector = ImageInfo.sectors - 1; + trk.TrackBytesPerSector = (int)ImageInfo.SectorSize; + trk.TrackEndSector = ImageInfo.Sectors - 1; trk.TrackFilter = rawImageFilter; trk.TrackFile = rawImageFilter.GetFilename(); trk.TrackFileOffset = 0; trk.TrackFileType = "BINARY"; - trk.TrackRawBytesPerSector = (int)ImageInfo.sectorSize; + trk.TrackRawBytesPerSector = (int)ImageInfo.SectorSize; trk.TrackSequence = 1; trk.TrackStartSector = 0; trk.TrackSubchannelType = TrackSubchannelType.None; @@ -812,19 +812,19 @@ namespace DiscImageChef.ImagePlugins public override List<Track> GetSessionTracks(ushort session) { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { if(session != 1) throw new ArgumentOutOfRangeException(nameof(session), "Only a single session is supported"); Track trk = new Track(); - trk.TrackBytesPerSector = (int)ImageInfo.sectorSize; - trk.TrackEndSector = ImageInfo.sectors - 1; + trk.TrackBytesPerSector = (int)ImageInfo.SectorSize; + trk.TrackEndSector = ImageInfo.Sectors - 1; trk.TrackFilter = rawImageFilter; trk.TrackFile = rawImageFilter.GetFilename(); trk.TrackFileOffset = 0; trk.TrackFileType = "BINARY"; - trk.TrackRawBytesPerSector = (int)ImageInfo.sectorSize; + trk.TrackRawBytesPerSector = (int)ImageInfo.SectorSize; trk.TrackSequence = 1; trk.TrackStartSector = 0; trk.TrackSubchannelType = TrackSubchannelType.None; @@ -840,10 +840,10 @@ namespace DiscImageChef.ImagePlugins public override List<Session> GetSessions() { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { Session sess = new Session(); - sess.EndSector = ImageInfo.sectors - 1; + sess.EndSector = ImageInfo.Sectors - 1; sess.EndTrack = 1; sess.SessionSequence = 1; sess.StartSector = 0; @@ -858,7 +858,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSector(ulong sectorAddress, uint track) { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { if(track != 1) throw new ArgumentOutOfRangeException(nameof(track), "Only a single track is supported"); @@ -870,7 +870,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectors(ulong sectorAddress, uint length, uint track) { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { if(track != 1) throw new ArgumentOutOfRangeException(nameof(track), "Only a single track is supported"); @@ -882,7 +882,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorLong(ulong sectorAddress, uint track) { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { if(track != 1) throw new ArgumentOutOfRangeException(nameof(track), "Only a single track is supported"); @@ -894,7 +894,7 @@ namespace DiscImageChef.ImagePlugins public override byte[] ReadSectorsLong(ulong sectorAddress, uint length, uint track) { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { if(track != 1) throw new ArgumentOutOfRangeException(nameof(track), "Only a single track is supported"); @@ -907,21 +907,21 @@ namespace DiscImageChef.ImagePlugins #region Private methods MediaType CalculateDiskType() { - if(ImageInfo.sectorSize == 2048) + if(ImageInfo.SectorSize == 2048) { - if(ImageInfo.sectors <= 360000) return MediaType.CD; - if(ImageInfo.sectors <= 2295104) return MediaType.DVDPR; - if(ImageInfo.sectors <= 2298496) return MediaType.DVDR; - if(ImageInfo.sectors <= 4171712) return MediaType.DVDRDL; - if(ImageInfo.sectors <= 4173824) return MediaType.DVDPRDL; - if(ImageInfo.sectors <= 24438784) return MediaType.BDR; - if(ImageInfo.sectors <= 62500864) return MediaType.BDRXL; + if(ImageInfo.Sectors <= 360000) return MediaType.CD; + if(ImageInfo.Sectors <= 2295104) return MediaType.DVDPR; + if(ImageInfo.Sectors <= 2298496) return MediaType.DVDR; + if(ImageInfo.Sectors <= 4171712) return MediaType.DVDRDL; + if(ImageInfo.Sectors <= 4173824) return MediaType.DVDPRDL; + if(ImageInfo.Sectors <= 24438784) return MediaType.BDR; + if(ImageInfo.Sectors <= 62500864) return MediaType.BDRXL; return MediaType.Unknown; } else { - switch(ImageInfo.imageSize) + switch(ImageInfo.ImageSize) { case 80384: return MediaType.ECMA_66; case 81664: return MediaType.IBM23FD; @@ -931,7 +931,7 @@ namespace DiscImageChef.ImagePlugins case 133120: return MediaType.ATARI_525_ED; case 143360: return MediaType.Apple33SS; case 163840: - if(ImageInfo.sectorSize == 256) return MediaType.ACORN_525_SS_DD_40; + if(ImageInfo.SectorSize == 256) return MediaType.ACORN_525_SS_DD_40; return MediaType.DOS_525_SS_DD_8; case 184320: return MediaType.DOS_525_SS_DD_9; @@ -945,7 +945,7 @@ namespace DiscImageChef.ImagePlugins case 322560: return MediaType.Apricot_35; case 325632: return MediaType.ECMA_70; case 327680: - if(ImageInfo.sectorSize == 256) return MediaType.ACORN_525_SS_DD_80; + if(ImageInfo.SectorSize == 256) return MediaType.ACORN_525_SS_DD_80; return MediaType.DOS_525_DS_DD_8; case 368640: @@ -963,8 +963,8 @@ namespace DiscImageChef.ImagePlugins case 655360: return MediaType.ACORN_525_DS_DD; case 737280: return MediaType.DOS_35_DS_DD_9; case 819200: - if(ImageInfo.sectorSize == 256) return MediaType.CBM_35_DD; - if((extension == ".adf" || extension == ".adl") && ImageInfo.sectorSize == 1024) + if(ImageInfo.SectorSize == 256) return MediaType.CBM_35_DD; + if((extension == ".adf" || extension == ".adl") && ImageInfo.SectorSize == 1024) return MediaType.ACORN_35_DS_DD; if(extension == ".st") return MediaType.ATARI_35_DS_DD; @@ -1045,17 +1045,17 @@ namespace DiscImageChef.ImagePlugins public override string GetImageVersion() { - return ImageInfo.imageVersion; + return ImageInfo.ImageVersion; } public override string GetImageApplication() { - return ImageInfo.imageApplication; + return ImageInfo.ImageApplication; } public override string GetImageApplicationVersion() { - return ImageInfo.imageApplicationVersion; + return ImageInfo.ImageApplicationVersion; } public override byte[] ReadDiskTag(MediaTagType tag) @@ -1065,77 +1065,77 @@ namespace DiscImageChef.ImagePlugins public override string GetImageCreator() { - return ImageInfo.imageCreator; + return ImageInfo.ImageCreator; } public override string GetImageComments() { - return ImageInfo.imageComments; + return ImageInfo.ImageComments; } public override string GetMediaManufacturer() { - return ImageInfo.mediaManufacturer; + return ImageInfo.MediaManufacturer; } public override string GetMediaModel() { - return ImageInfo.mediaModel; + return ImageInfo.MediaModel; } public override string GetMediaSerialNumber() { - return ImageInfo.mediaSerialNumber; + return ImageInfo.MediaSerialNumber; } public override string GetMediaBarcode() { - return ImageInfo.mediaBarcode; + return ImageInfo.MediaBarcode; } public override string GetMediaPartNumber() { - return ImageInfo.mediaPartNumber; + return ImageInfo.MediaPartNumber; } public override int GetMediaSequence() { - return ImageInfo.mediaSequence; + return ImageInfo.MediaSequence; } public override int GetLastDiskSequence() { - return ImageInfo.lastMediaSequence; + return ImageInfo.LastMediaSequence; } public override string GetDriveManufacturer() { - return ImageInfo.driveManufacturer; + return ImageInfo.DriveManufacturer; } public override string GetDriveModel() { - return ImageInfo.driveModel; + return ImageInfo.DriveModel; } public override string GetDriveSerialNumber() { - return ImageInfo.driveSerialNumber; + return ImageInfo.DriveSerialNumber; } public override List<Partition> GetPartitions() { - if(ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { List<Partition> parts = new List<Partition>(); Partition part = new Partition { Start = 0, - Length = ImageInfo.sectors, + Length = ImageInfo.Sectors, Offset = 0, Sequence = 0, Type = "MODE1/2048", - Size = ImageInfo.sectors * ImageInfo.sectorSize + Size = ImageInfo.Sectors * ImageInfo.SectorSize }; parts.Add(part); return parts; diff --git a/DiscImageChef.Filesystems/AODOS.cs b/DiscImageChef.Filesystems/AODOS.cs index d66b1c4bc..8a8bd063d 100644 --- a/DiscImageChef.Filesystems/AODOS.cs +++ b/DiscImageChef.Filesystems/AODOS.cs @@ -57,7 +57,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.GetEncoding("koi8-r"); } - public AODOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public AODOS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Alexander Osipov DOS file system"; PluginUUID = new Guid("668E5039-9DDD-442A-BE1B-A315D6E38E26"); @@ -99,16 +99,16 @@ namespace DiscImageChef.Filesystems readonly byte[] AODOSIdentifier = {0x20, 0x41, 0x4F, 0x2D, 0x44, 0x4F, 0x53, 0x20}; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { // Does AO-DOS support hard disks? if(partition.Start > 0) return false; // How is it really? - if(imagePlugin.ImageInfo.sectorSize != 512) return false; + if(imagePlugin.ImageInfo.SectorSize != 512) return false; // Does AO-DOS support any other kind of disk? - if(imagePlugin.ImageInfo.sectors != 800 && imagePlugin.ImageInfo.sectors != 1600) return false; + if(imagePlugin.ImageInfo.Sectors != 800 && imagePlugin.ImageInfo.Sectors != 1600) return false; byte[] sector; @@ -122,7 +122,7 @@ namespace DiscImageChef.Filesystems return bb.identifier.SequenceEqual(AODOSIdentifier); } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] sector; @@ -141,11 +141,11 @@ namespace DiscImageChef.Filesystems xmlFSType = new Schemas.FileSystemType { Type = "Alexander Osipov DOS file system", - Clusters = (long)imagePlugin.ImageInfo.sectors, - ClusterSize = (int)imagePlugin.ImageInfo.sectorSize, + Clusters = (long)imagePlugin.ImageInfo.Sectors, + ClusterSize = (int)imagePlugin.ImageInfo.SectorSize, Files = bb.files, FilesSpecified = true, - FreeClusters = (long)(imagePlugin.ImageInfo.sectors - bb.usedSectors), + FreeClusters = (long)(imagePlugin.ImageInfo.Sectors - bb.usedSectors), FreeClustersSpecified = true, VolumeName = StringHandlers.SpacePaddedToString(bb.volumeLabel, CurrentEncoding), Bootable = true diff --git a/DiscImageChef.Filesystems/APFS.cs b/DiscImageChef.Filesystems/APFS.cs index 5603a95c0..3787e403c 100644 --- a/DiscImageChef.Filesystems/APFS.cs +++ b/DiscImageChef.Filesystems/APFS.cs @@ -57,7 +57,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.UTF8; } - public APFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public APFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Apple File System"; PluginUUID = new Guid("A4060F9D-2909-42E2-9D95-DB31FA7EA797"); @@ -76,7 +76,7 @@ namespace DiscImageChef.Filesystems public ulong containerBlocks; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; @@ -97,7 +97,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); diff --git a/DiscImageChef.Filesystems/Acorn.cs b/DiscImageChef.Filesystems/Acorn.cs index d6e6e80f4..06e8bd742 100644 --- a/DiscImageChef.Filesystems/Acorn.cs +++ b/DiscImageChef.Filesystems/Acorn.cs @@ -81,7 +81,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public AcornADFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public AcornADFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Acorn Advanced Disc Filing System"; PluginUUID = new Guid("BAFC1E50-9C64-4CD3-8400-80628CC27AFA"); @@ -259,14 +259,14 @@ namespace DiscImageChef.Filesystems } // TODO: BBC Master hard disks are untested... - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; ulong sbSector; uint sectorsToRead; - if(imagePlugin.ImageInfo.sectorSize < 256) return false; + if(imagePlugin.ImageInfo.SectorSize < 256) return false; byte[] sector; GCHandle ptr; @@ -311,9 +311,9 @@ namespace DiscImageChef.Filesystems if(oldMap0.checksum == oldChk0 && oldMap1.checksum == oldChk1 && oldMap0.checksum != 0 && oldMap1.checksum != 0) { - sbSector = oldDirectoryLocation / imagePlugin.ImageInfo.sectorSize; - sectorsToRead = oldDirectorySize / imagePlugin.ImageInfo.sectorSize; - if(oldDirectorySize % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + sbSector = oldDirectoryLocation / imagePlugin.ImageInfo.SectorSize; + sectorsToRead = oldDirectorySize / imagePlugin.ImageInfo.SectorSize; + if(oldDirectorySize % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; sector = imagePlugin.ReadSectors(sbSector, sectorsToRead); if(sector.Length > oldDirectorySize) @@ -338,9 +338,9 @@ namespace DiscImageChef.Filesystems (oldRoot.header.magic == newDirMagic && oldRoot.tail.magic == newDirMagic)) return true; // RISC OS says the old directory can't be in the new location, hard disks created by RISC OS 3.10 do that... - sbSector = newDirectoryLocation / imagePlugin.ImageInfo.sectorSize; - sectorsToRead = newDirectorySize / imagePlugin.ImageInfo.sectorSize; - if(newDirectorySize % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + sbSector = newDirectoryLocation / imagePlugin.ImageInfo.SectorSize; + sectorsToRead = newDirectorySize / imagePlugin.ImageInfo.SectorSize; + if(newDirectorySize % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; sector = imagePlugin.ReadSectors(sbSector, sectorsToRead); if(sector.Length > oldDirectorySize) @@ -374,9 +374,9 @@ namespace DiscImageChef.Filesystems DicConsole.DebugWriteLine("ADFS Plugin", "newChk = {0}", newChk); DicConsole.DebugWriteLine("ADFS Plugin", "map.zoneChecksum = {0}", sector[0]); - sbSector = bootBlockLocation / imagePlugin.ImageInfo.sectorSize; - sectorsToRead = bootBlockSize / imagePlugin.ImageInfo.sectorSize; - if(bootBlockSize % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + sbSector = bootBlockLocation / imagePlugin.ImageInfo.SectorSize; + sectorsToRead = bootBlockSize / imagePlugin.ImageInfo.SectorSize; + if(bootBlockSize % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; if(sbSector + partition.Start + sectorsToRead >= partition.End) return false; @@ -430,7 +430,7 @@ namespace DiscImageChef.Filesystems // TODO: Find root directory on volumes with DiscRecord // TODO: Support big directories (ADFS-G?) // TODO: Find the real freemap on volumes with DiscRecord, as DiscRecord's discid may be empty but this one isn't - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); @@ -489,16 +489,16 @@ namespace DiscImageChef.Filesystems xmlFSType = new Schemas.FileSystemType { Bootable = oldMap1.boot != 0, // Or not? - Clusters = (long)(bytes / imagePlugin.ImageInfo.sectorSize), - ClusterSize = (int)imagePlugin.ImageInfo.sectorSize, + Clusters = (long)(bytes / imagePlugin.ImageInfo.SectorSize), + ClusterSize = (int)imagePlugin.ImageInfo.SectorSize, Type = "Acorn Advanced Disc Filing System", }; if(ArrayHelpers.ArrayIsNullOrEmpty(namebytes)) { - sbSector = oldDirectoryLocation / imagePlugin.ImageInfo.sectorSize; - sectorsToRead = oldDirectorySize / imagePlugin.ImageInfo.sectorSize; - if(oldDirectorySize % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + sbSector = oldDirectoryLocation / imagePlugin.ImageInfo.SectorSize; + sectorsToRead = oldDirectorySize / imagePlugin.ImageInfo.SectorSize; + if(oldDirectorySize % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; sector = imagePlugin.ReadSectors(sbSector, sectorsToRead); if(sector.Length > oldDirectorySize) @@ -518,9 +518,9 @@ namespace DiscImageChef.Filesystems else { // RISC OS says the old directory can't be in the new location, hard disks created by RISC OS 3.10 do that... - sbSector = newDirectoryLocation / imagePlugin.ImageInfo.sectorSize; - sectorsToRead = newDirectorySize / imagePlugin.ImageInfo.sectorSize; - if(newDirectorySize % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + sbSector = newDirectoryLocation / imagePlugin.ImageInfo.SectorSize; + sectorsToRead = newDirectorySize / imagePlugin.ImageInfo.SectorSize; + if(newDirectorySize % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; sector = imagePlugin.ReadSectors(sbSector, sectorsToRead); if(sector.Length > oldDirectorySize) @@ -561,7 +561,7 @@ namespace DiscImageChef.Filesystems sbInformation.AppendLine("Acorn Advanced Disc Filing System"); sbInformation.AppendLine(); - sbInformation.AppendFormat("{0} bytes per sector", imagePlugin.ImageInfo.sectorSize).AppendLine(); + sbInformation.AppendFormat("{0} bytes per sector", imagePlugin.ImageInfo.SectorSize).AppendLine(); sbInformation.AppendFormat("Volume has {0} bytes", bytes).AppendLine(); sbInformation.AppendFormat("Volume name: {0}", StringHandlers.CToString(namebytes, CurrentEncoding)) .AppendLine(); @@ -587,9 +587,9 @@ namespace DiscImageChef.Filesystems DicConsole.DebugWriteLine("ADFS Plugin", "newChk = {0}", newChk); DicConsole.DebugWriteLine("ADFS Plugin", "map.zoneChecksum = {0}", sector[0]); - sbSector = bootBlockLocation / imagePlugin.ImageInfo.sectorSize; - sectorsToRead = bootBlockSize / imagePlugin.ImageInfo.sectorSize; - if(bootBlockSize % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + sbSector = bootBlockLocation / imagePlugin.ImageInfo.SectorSize; + sectorsToRead = bootBlockSize / imagePlugin.ImageInfo.SectorSize; + if(bootBlockSize % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; byte[] bootSector = imagePlugin.ReadSectors(sbSector + partition.Start, sectorsToRead); int bootChk = 0; diff --git a/DiscImageChef.Filesystems/AmigaDOS.cs b/DiscImageChef.Filesystems/AmigaDOS.cs index 667f0d396..a3b9bd46e 100644 --- a/DiscImageChef.Filesystems/AmigaDOS.cs +++ b/DiscImageChef.Filesystems/AmigaDOS.cs @@ -56,7 +56,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public AmigaDOSPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public AmigaDOSPlugin(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Amiga DOS filesystem"; PluginUUID = new Guid("3c882400-208c-427d-a086-9119852a1bc7"); @@ -208,7 +208,7 @@ namespace DiscImageChef.Filesystems public const uint TypeHeader = 2; public const uint SubTypeRoot = 1; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; @@ -306,7 +306,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); @@ -443,7 +443,7 @@ namespace DiscImageChef.Filesystems if(bootBlk.checksum == bsum) { - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); sha1Ctx.Update(bootBlk.bootCode); sbInformation.AppendLine("Volume is bootable"); @@ -458,7 +458,7 @@ namespace DiscImageChef.Filesystems if((bootBlk.diskType & 0xFF) == 4 || (bootBlk.diskType & 0xFF) == 5) sbInformation.AppendFormat("Directory cache starts at block {0}", rootBlk.extension).AppendLine(); - long blocks = (long)((((partition.End - partition.Start) + 1) * imagePlugin.ImageInfo.sectorSize) / + long blocks = (long)((((partition.End - partition.Start) + 1) * imagePlugin.ImageInfo.SectorSize) / blockSize); sbInformation.AppendFormat("Volume block size is {0} bytes", blockSize).AppendLine(); diff --git a/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs b/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs index 84346650c..078fdca89 100644 --- a/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs +++ b/DiscImageChef.Filesystems/AppleDOS/AppleDOS.cs @@ -34,7 +34,7 @@ using System; using System.Collections.Generic; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.AppleDOS { @@ -65,7 +65,7 @@ namespace DiscImageChef.Filesystems.AppleDOS List<string> lockedFiles; #endregion Caches - VTOC vtoc; + Vtoc vtoc; ulong start; int sectorsPerTrack; ulong totalFileEntries; diff --git a/DiscImageChef.Filesystems/AppleDOS/Dir.cs b/DiscImageChef.Filesystems/AppleDOS/Dir.cs index fcc528060..bdcad526d 100644 --- a/DiscImageChef.Filesystems/AppleDOS/Dir.cs +++ b/DiscImageChef.Filesystems/AppleDOS/Dir.cs @@ -87,19 +87,19 @@ namespace DiscImageChef.Filesystems.AppleDOS fileSizeCache = new Dictionary<string, int>(); lockedFiles = new List<string>(); - if(lba == 0 || lba > device.ImageInfo.sectors) return Errno.InvalidArgument; + if(lba == 0 || lba > device.ImageInfo.Sectors) return Errno.InvalidArgument; while(lba != 0) { usedSectors++; - byte[] catSector_b = device.ReadSector(lba); + byte[] catSectorB = device.ReadSector(lba); totalFileEntries += 7; - if(debug) catalogMs.Write(catSector_b, 0, catSector_b.Length); + if(debug) catalogMs.Write(catSectorB, 0, catSectorB.Length); // Read the catalog sector CatalogSector catSector = new CatalogSector(); IntPtr catPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(catSector_b, 0, catPtr, 256); + Marshal.Copy(catSectorB, 0, catPtr, 256); catSector = (CatalogSector)Marshal.PtrToStructure(catPtr, typeof(CatalogSector)); Marshal.FreeHGlobal(catPtr); @@ -110,13 +110,13 @@ namespace DiscImageChef.Filesystems.AppleDOS track1UsedByFiles |= entry.extentTrack == 1; track2UsedByFiles |= entry.extentTrack == 2; - byte[] filename_b = new byte[30]; + byte[] filenameB = new byte[30]; ushort ts = (ushort)((entry.extentTrack << 8) | entry.extentSector); // Apple DOS has high byte set over ASCII. - for(int i = 0; i < 30; i++) filename_b[i] = (byte)(entry.filename[i] & 0x7F); + for(int i = 0; i < 30; i++) filenameB[i] = (byte)(entry.filename[i] & 0x7F); - string filename = StringHandlers.SpacePaddedToString(filename_b, CurrentEncoding); + string filename = StringHandlers.SpacePaddedToString(filenameB, CurrentEncoding); if(!catalogCache.ContainsKey(filename)) catalogCache.Add(filename, ts); @@ -133,7 +133,7 @@ namespace DiscImageChef.Filesystems.AppleDOS lba = (ulong)((catSector.trackOfNext * sectorsPerTrack) + catSector.sectorOfNext); - if(lba > device.ImageInfo.sectors) break; + if(lba > device.ImageInfo.Sectors) break; } if(debug) catalogBlocks = catalogMs.ToArray(); diff --git a/DiscImageChef.Filesystems/AppleDOS/File.cs b/DiscImageChef.Filesystems/AppleDOS/File.cs index 8d0d578b9..a2f00d943 100644 --- a/DiscImageChef.Filesystems/AppleDOS/File.cs +++ b/DiscImageChef.Filesystems/AppleDOS/File.cs @@ -181,13 +181,13 @@ namespace DiscImageChef.Filesystems.AppleDOS while(lba != 0) { usedSectors++; - byte[] tsSector_b = device.ReadSector(lba); - if(debug) tsListMs.Write(tsSector_b, 0, tsSector_b.Length); + byte[] tsSectorB = device.ReadSector(lba); + if(debug) tsListMs.Write(tsSectorB, 0, tsSectorB.Length); // Read the track/sector list sector TrackSectorList tsSector = new TrackSectorList(); IntPtr tsPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(tsSector_b, 0, tsPtr, 256); + Marshal.Copy(tsSectorB, 0, tsPtr, 256); tsSector = (TrackSectorList)Marshal.PtrToStructure(tsPtr, typeof(TrackSectorList)); Marshal.FreeHGlobal(tsPtr); diff --git a/DiscImageChef.Filesystems/AppleDOS/Info.cs b/DiscImageChef.Filesystems/AppleDOS/Info.cs index f24f75ec7..b6f914fed 100644 --- a/DiscImageChef.Filesystems/AppleDOS/Info.cs +++ b/DiscImageChef.Filesystems/AppleDOS/Info.cs @@ -34,7 +34,7 @@ using System; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.AppleDOS { @@ -42,19 +42,19 @@ namespace DiscImageChef.Filesystems.AppleDOS { public override bool Identify(ImagePlugin imagePlugin, Partition partition) { - if(imagePlugin.ImageInfo.sectors != 455 && imagePlugin.ImageInfo.sectors != 560) return false; + if(imagePlugin.ImageInfo.Sectors != 455 && imagePlugin.ImageInfo.Sectors != 560) return false; - if(partition.Start > 0 || imagePlugin.ImageInfo.sectorSize != 256) return false; + if(partition.Start > 0 || imagePlugin.ImageInfo.SectorSize != 256) return false; int spt = 0; - if(imagePlugin.ImageInfo.sectors == 455) spt = 13; + if(imagePlugin.ImageInfo.Sectors == 455) spt = 13; else spt = 16; - byte[] vtoc_b = imagePlugin.ReadSector((ulong)(17 * spt)); - vtoc = new VTOC(); + byte[] vtocB = imagePlugin.ReadSector((ulong)(17 * spt)); + vtoc = new Vtoc(); IntPtr vtocPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(vtoc_b, 0, vtocPtr, 256); - vtoc = (VTOC)Marshal.PtrToStructure(vtocPtr, typeof(VTOC)); + Marshal.Copy(vtocB, 0, vtocPtr, 256); + vtoc = (Vtoc)Marshal.PtrToStructure(vtocPtr, typeof(Vtoc)); Marshal.FreeHGlobal(vtocPtr); return vtoc.catalogSector < spt && vtoc.maxTrackSectorPairsPerSector <= 122 && @@ -67,14 +67,14 @@ namespace DiscImageChef.Filesystems.AppleDOS StringBuilder sb = new StringBuilder(); int spt = 0; - if(imagePlugin.ImageInfo.sectors == 455) spt = 13; + if(imagePlugin.ImageInfo.Sectors == 455) spt = 13; else spt = 16; - byte[] vtoc_b = imagePlugin.ReadSector((ulong)(17 * spt)); - vtoc = new VTOC(); + byte[] vtocB = imagePlugin.ReadSector((ulong)(17 * spt)); + vtoc = new Vtoc(); IntPtr vtocPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(vtoc_b, 0, vtocPtr, 256); - vtoc = (VTOC)Marshal.PtrToStructure(vtocPtr, typeof(VTOC)); + Marshal.Copy(vtocB, 0, vtocPtr, 256); + vtoc = (Vtoc)Marshal.PtrToStructure(vtocPtr, typeof(Vtoc)); Marshal.FreeHGlobal(vtocPtr); sb.AppendLine("Apple DOS File System"); @@ -94,8 +94,8 @@ namespace DiscImageChef.Filesystems.AppleDOS xmlFSType = new Schemas.FileSystemType(); xmlFSType.Bootable = true; - xmlFSType.Clusters = (long)imagePlugin.ImageInfo.sectors; - xmlFSType.ClusterSize = (int)imagePlugin.ImageInfo.sectorSize; + xmlFSType.Clusters = (long)imagePlugin.ImageInfo.Sectors; + xmlFSType.ClusterSize = (int)imagePlugin.ImageInfo.SectorSize; xmlFSType.Type = "Apple DOS"; return; diff --git a/DiscImageChef.Filesystems/AppleDOS/Structs.cs b/DiscImageChef.Filesystems/AppleDOS/Structs.cs index 8efb998d1..90311cc98 100644 --- a/DiscImageChef.Filesystems/AppleDOS/Structs.cs +++ b/DiscImageChef.Filesystems/AppleDOS/Structs.cs @@ -37,7 +37,7 @@ namespace DiscImageChef.Filesystems.AppleDOS public partial class AppleDOS : Filesystem { [StructLayout(LayoutKind.Sequential, Pack = 1)] - struct VTOC + struct Vtoc { public byte unused1; public byte catalogTrack; diff --git a/DiscImageChef.Filesystems/AppleDOS/Super.cs b/DiscImageChef.Filesystems/AppleDOS/Super.cs index 27b66eb82..1e00386c4 100644 --- a/DiscImageChef.Filesystems/AppleDOS/Super.cs +++ b/DiscImageChef.Filesystems/AppleDOS/Super.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Filesystems.AppleDOS /// </summary> public override Errno Mount(bool debug) { - if(device.ImageInfo.sectors != 455 && device.ImageInfo.sectors != 560) + if(device.ImageInfo.Sectors != 455 && device.ImageInfo.Sectors != 560) { DicConsole.DebugWriteLine("Apple DOS plugin", "Incorrect device size."); return Errno.InOutError; @@ -63,21 +63,21 @@ namespace DiscImageChef.Filesystems.AppleDOS return Errno.InOutError; } - if(device.ImageInfo.sectorSize != 256) + if(device.ImageInfo.SectorSize != 256) { DicConsole.DebugWriteLine("Apple DOS plugin", "Incorrect sector size."); return Errno.InOutError; } - if(device.ImageInfo.sectors == 455) sectorsPerTrack = 13; + if(device.ImageInfo.Sectors == 455) sectorsPerTrack = 13; else sectorsPerTrack = 16; // Read the VTOC - byte[] vtoc_b = device.ReadSector((ulong)(17 * sectorsPerTrack)); - vtoc = new VTOC(); + byte[] vtocB = device.ReadSector((ulong)(17 * sectorsPerTrack)); + vtoc = new Vtoc(); IntPtr vtocPtr = Marshal.AllocHGlobal(256); - Marshal.Copy(vtoc_b, 0, vtocPtr, 256); - vtoc = (VTOC)Marshal.PtrToStructure(vtocPtr, typeof(VTOC)); + Marshal.Copy(vtocB, 0, vtocPtr, 256); + vtoc = (Vtoc)Marshal.PtrToStructure(vtocPtr, typeof(Vtoc)); Marshal.FreeHGlobal(vtocPtr); track1UsedByFiles = false; @@ -103,7 +103,7 @@ namespace DiscImageChef.Filesystems.AppleDOS // Create XML metadata for mounted filesystem xmlFSType = new Schemas.FileSystemType(); xmlFSType.Bootable = true; - xmlFSType.Clusters = (long)device.ImageInfo.sectors; + xmlFSType.Clusters = (long)device.ImageInfo.Sectors; xmlFSType.ClusterSize = vtoc.bytesPerSector; xmlFSType.Files = catalogCache.Count; xmlFSType.FilesSpecified = true; @@ -137,7 +137,7 @@ namespace DiscImageChef.Filesystems.AppleDOS public override Errno StatFs(ref FileSystemInfo stat) { stat = new FileSystemInfo(); - stat.Blocks = (long)device.ImageInfo.sectors; + stat.Blocks = (long)device.ImageInfo.Sectors; stat.FilenameLength = 30; stat.Files = (ulong)catalogCache.Count; stat.FreeBlocks = stat.Blocks - usedSectors; diff --git a/DiscImageChef.Filesystems/AppleHFS.cs b/DiscImageChef.Filesystems/AppleHFS.cs index 3f0797fc7..76d9d492b 100644 --- a/DiscImageChef.Filesystems/AppleHFS.cs +++ b/DiscImageChef.Filesystems/AppleHFS.cs @@ -70,7 +70,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public AppleHFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public AppleHFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Apple Hierarchical File System"; PluginUUID = new Guid("36405F8D-0D26-6ECC-0BBB-1D5225FF404F"); @@ -78,7 +78,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -119,7 +119,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -309,7 +309,7 @@ namespace DiscImageChef.Filesystems return; } - static byte[] Read2048SectorAs512(ImagePlugins.ImagePlugin imagePlugin, ulong LBA) + static byte[] Read2048SectorAs512(DiscImages.ImagePlugin imagePlugin, ulong LBA) { ulong LBA2k = LBA / 4; int Remainder = (int)(LBA % 4); diff --git a/DiscImageChef.Filesystems/AppleHFSPlus.cs b/DiscImageChef.Filesystems/AppleHFSPlus.cs index 58512ed22..b8647f664 100644 --- a/DiscImageChef.Filesystems/AppleHFSPlus.cs +++ b/DiscImageChef.Filesystems/AppleHFSPlus.cs @@ -68,14 +68,14 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.BigEndianUnicode; } - public AppleHFSPlus(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public AppleHFSPlus(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Apple HFS+ filesystem"; PluginUUID = new Guid("36405F8D-0D26-6EBE-436F-62F0586B4F08"); CurrentEncoding = Encoding.BigEndianUnicode; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -87,8 +87,8 @@ namespace DiscImageChef.Filesystems byte[] vh_sector; ulong hfsp_offset; - uint sectorsToRead = 0x800 / imagePlugin.ImageInfo.sectorSize; - if(0x800 % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + uint sectorsToRead = 0x800 / imagePlugin.ImageInfo.SectorSize; + if(0x800 % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; vh_sector = imagePlugin.ReadSectors(partition.Start, sectorsToRead); // Read volume header, of HFS Wrapper MDB @@ -123,7 +123,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -138,8 +138,8 @@ namespace DiscImageChef.Filesystems bool wrapped; byte[] vh_sector; - uint sectorsToRead = 0x800 / imagePlugin.ImageInfo.sectorSize; - if(0x800 % imagePlugin.ImageInfo.sectorSize > 0) sectorsToRead++; + uint sectorsToRead = 0x800 / imagePlugin.ImageInfo.SectorSize; + if(0x800 % imagePlugin.ImageInfo.SectorSize > 0) sectorsToRead++; vh_sector = imagePlugin.ReadSectors(partition.Start, sectorsToRead); // Read volume header, of HFS Wrapper MDB diff --git a/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs b/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs index a7c7de4a3..8553b98dc 100644 --- a/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs +++ b/DiscImageChef.Filesystems/AppleMFS/AppleMFS.cs @@ -34,7 +34,7 @@ using System; using System.Collections.Generic; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.AppleMFS { diff --git a/DiscImageChef.Filesystems/AppleMFS/File.cs b/DiscImageChef.Filesystems/AppleMFS/File.cs index f958059c7..361023f35 100644 --- a/DiscImageChef.Filesystems/AppleMFS/File.cs +++ b/DiscImageChef.Filesystems/AppleMFS/File.cs @@ -279,7 +279,7 @@ namespace DiscImageChef.Filesystems.AppleMFS if(tags) sectors = device.ReadSectorsTag((ulong)((nextBlock - 2) * sectorsPerBlock) + volMDB.drAlBlSt + partitionStart, - (uint)sectorsPerBlock, ImagePlugins.SectorTagType.AppleSectorTag); + (uint)sectorsPerBlock, DiscImages.SectorTagType.AppleSectorTag); else sectors = device.ReadSectors((ulong)((nextBlock - 2) * sectorsPerBlock) + volMDB.drAlBlSt + partitionStart, diff --git a/DiscImageChef.Filesystems/AppleMFS/Info.cs b/DiscImageChef.Filesystems/AppleMFS/Info.cs index 2664371f7..b4f00ecb6 100644 --- a/DiscImageChef.Filesystems/AppleMFS/Info.cs +++ b/DiscImageChef.Filesystems/AppleMFS/Info.cs @@ -39,7 +39,7 @@ namespace DiscImageChef.Filesystems.AppleMFS // Information from Inside Macintosh Volume II public partial class AppleMFS : Filesystem { - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { ushort drSigWord; @@ -54,7 +54,7 @@ namespace DiscImageChef.Filesystems.AppleMFS return drSigWord == MFS_MAGIC; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/AppleMFS/Super.cs b/DiscImageChef.Filesystems/AppleMFS/Super.cs index 68d17d76f..6f1ac0997 100644 --- a/DiscImageChef.Filesystems/AppleMFS/Super.cs +++ b/DiscImageChef.Filesystems/AppleMFS/Super.cs @@ -73,8 +73,8 @@ namespace DiscImageChef.Filesystems.AppleMFS int bytesInBlockMap = ((volMDB.drNmAlBlks * 12) / 8) + ((volMDB.drNmAlBlks * 12) % 8); int bytesBeforeBlockMap = 64; int bytesInWholeMDB = bytesInBlockMap + bytesBeforeBlockMap; - int sectorsInWholeMDB = (bytesInWholeMDB / (int)device.ImageInfo.sectorSize) + - (bytesInWholeMDB % (int)device.ImageInfo.sectorSize); + int sectorsInWholeMDB = (bytesInWholeMDB / (int)device.ImageInfo.SectorSize) + + (bytesInWholeMDB % (int)device.ImageInfo.SectorSize); byte[] wholeMDB = device.ReadSectors(partitionStart + 2, (uint)sectorsInWholeMDB); blockMapBytes = new byte[bytesInBlockMap]; Array.Copy(wholeMDB, bytesBeforeBlockMap, blockMapBytes, 0, blockMapBytes.Length); @@ -105,17 +105,17 @@ namespace DiscImageChef.Filesystems.AppleMFS offset += 12; } - if(device.ImageInfo.readableSectorTags.Contains(ImagePlugins.SectorTagType.AppleSectorTag)) + if(device.ImageInfo.ReadableSectorTags.Contains(DiscImages.SectorTagType.AppleSectorTag)) { - mdbTags = device.ReadSectorTag(2 + partitionStart, ImagePlugins.SectorTagType.AppleSectorTag); - bootTags = device.ReadSectorTag(0 + partitionStart, ImagePlugins.SectorTagType.AppleSectorTag); + mdbTags = device.ReadSectorTag(2 + partitionStart, DiscImages.SectorTagType.AppleSectorTag); + bootTags = device.ReadSectorTag(0 + partitionStart, DiscImages.SectorTagType.AppleSectorTag); directoryTags = device.ReadSectorsTag(volMDB.drDirSt + partitionStart, volMDB.drBlLen, - ImagePlugins.SectorTagType.AppleSectorTag); + DiscImages.SectorTagType.AppleSectorTag); bitmapTags = device.ReadSectorsTag(partitionStart + 2, (uint)sectorsInWholeMDB, - ImagePlugins.SectorTagType.AppleSectorTag); + DiscImages.SectorTagType.AppleSectorTag); } - sectorsPerBlock = (int)(volMDB.drAlBlkSiz / device.ImageInfo.sectorSize); + sectorsPerBlock = (int)(volMDB.drAlBlkSiz / device.ImageInfo.SectorSize); if(!FillDirectory()) return Errno.InvalidArgument; diff --git a/DiscImageChef.Filesystems/AppleMFS/Xattr.cs b/DiscImageChef.Filesystems/AppleMFS/Xattr.cs index edd495369..885c38433 100644 --- a/DiscImageChef.Filesystems/AppleMFS/Xattr.cs +++ b/DiscImageChef.Filesystems/AppleMFS/Xattr.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems.AppleMFS string.Compare(path, "$Boot", StringComparison.InvariantCulture) == 0 || string.Compare(path, "$MDB", StringComparison.InvariantCulture) == 0) { - if(device.ImageInfo.readableSectorTags.Contains(ImagePlugins.SectorTagType.AppleSectorTag)) + if(device.ImageInfo.ReadableSectorTags.Contains(DiscImages.SectorTagType.AppleSectorTag)) xattrs.Add("com.apple.macintosh.tags"); return Errno.NoError; @@ -72,13 +72,13 @@ namespace DiscImageChef.Filesystems.AppleMFS if(entry.flRLgLen > 0) { xattrs.Add("com.apple.ResourceFork"); - if(debug && device.ImageInfo.readableSectorTags.Contains(ImagePlugins.SectorTagType.AppleSectorTag)) + if(debug && device.ImageInfo.ReadableSectorTags.Contains(DiscImages.SectorTagType.AppleSectorTag)) xattrs.Add("com.apple.ResourceFork.tags"); } if(!ArrayHelpers.ArrayIsNullOrEmpty(entry.flUsrWds)) xattrs.Add("com.apple.FinderInfo"); - if(debug && device.ImageInfo.readableSectorTags.Contains(ImagePlugins.SectorTagType.AppleSectorTag) && + if(debug && device.ImageInfo.ReadableSectorTags.Contains(DiscImages.SectorTagType.AppleSectorTag) && entry.flLgLen > 0) xattrs.Add("com.apple.macintosh.tags"); xattrs.Sort(); @@ -100,7 +100,7 @@ namespace DiscImageChef.Filesystems.AppleMFS string.Compare(path, "$Boot", StringComparison.InvariantCulture) == 0 || string.Compare(path, "$MDB", StringComparison.InvariantCulture) == 0) { - if(device.ImageInfo.readableSectorTags.Contains(ImagePlugins.SectorTagType.AppleSectorTag) && + if(device.ImageInfo.ReadableSectorTags.Contains(DiscImages.SectorTagType.AppleSectorTag) && string.Compare(xattr, "com.apple.macintosh.tags", StringComparison.InvariantCulture) == 0) { if(string.Compare(path, "$", StringComparison.InvariantCulture) == 0) @@ -165,7 +165,7 @@ namespace DiscImageChef.Filesystems.AppleMFS return Errno.NoError; } - if(debug && device.ImageInfo.readableSectorTags.Contains(ImagePlugins.SectorTagType.AppleSectorTag) && + if(debug && device.ImageInfo.ReadableSectorTags.Contains(DiscImages.SectorTagType.AppleSectorTag) && string.Compare(xattr, "com.apple.macintosh.tags", StringComparison.InvariantCulture) == 0) { error = ReadFile(path, out buf, false, true); diff --git a/DiscImageChef.Filesystems/AtheOS.cs b/DiscImageChef.Filesystems/AtheOS.cs index 7e65cf71a..6326ccf7a 100644 --- a/DiscImageChef.Filesystems/AtheOS.cs +++ b/DiscImageChef.Filesystems/AtheOS.cs @@ -63,7 +63,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public AtheOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public AtheOS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "AtheOS Filesystem"; PluginUUID = new Guid("AAB2C4F1-DC07-49EE-A948-576CC51B58C5"); @@ -71,7 +71,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { ulong sector = AFS_BOOTBLOCK_SIZE / imagePlugin.GetSectorSize(); uint offset = AFS_BOOTBLOCK_SIZE % imagePlugin.GetSectorSize(); @@ -93,7 +93,7 @@ namespace DiscImageChef.Filesystems return magic == AFS_MAGIC1; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/BFS.cs b/DiscImageChef.Filesystems/BFS.cs index ad7f35f82..30d826337 100644 --- a/DiscImageChef.Filesystems/BFS.cs +++ b/DiscImageChef.Filesystems/BFS.cs @@ -68,7 +68,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public BeFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public BeFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Be Filesystem"; PluginUUID = new Guid("dc8572b3-b6ad-46e4-8de9-cbe123ff6672"); @@ -76,7 +76,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -108,7 +108,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/BTRFS.cs b/DiscImageChef.Filesystems/BTRFS.cs index 6998e5801..2811d8783 100644 --- a/DiscImageChef.Filesystems/BTRFS.cs +++ b/DiscImageChef.Filesystems/BTRFS.cs @@ -61,7 +61,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public BTRFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public BTRFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "B-tree file system"; PluginUUID = new Guid("C904CF15-5222-446B-B7DB-02EAC5D781B3"); @@ -125,7 +125,7 @@ namespace DiscImageChef.Filesystems public Guid uuid; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; @@ -153,7 +153,7 @@ namespace DiscImageChef.Filesystems return btrfsSb.magic == btrfsMagic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); diff --git a/DiscImageChef.Filesystems/CBM.cs b/DiscImageChef.Filesystems/CBM.cs index 7949307ff..f65c99184 100644 --- a/DiscImageChef.Filesystems/CBM.cs +++ b/DiscImageChef.Filesystems/CBM.cs @@ -54,7 +54,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = new Claunia.Encoding.PETSCII(); } - public CBM(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public CBM(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Commodore file system"; PluginUUID = new Guid("D104744E-A376-450C-BAC0-1347C93F983B"); @@ -179,18 +179,18 @@ namespace DiscImageChef.Filesystems public short fill3; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start > 0) return false; - if(imagePlugin.ImageInfo.sectorSize != 256) return false; + if(imagePlugin.ImageInfo.SectorSize != 256) return false; - if(imagePlugin.ImageInfo.sectors != 683 && imagePlugin.ImageInfo.sectors != 768 && - imagePlugin.ImageInfo.sectors != 1366 && imagePlugin.ImageInfo.sectors != 3200) return false; + if(imagePlugin.ImageInfo.Sectors != 683 && imagePlugin.ImageInfo.Sectors != 768 && + imagePlugin.ImageInfo.Sectors != 1366 && imagePlugin.ImageInfo.Sectors != 3200) return false; byte[] sector; - if(imagePlugin.ImageInfo.sectors == 3200) + if(imagePlugin.ImageInfo.Sectors == 3200) { sector = imagePlugin.ReadSector(1560); CommodoreHeader cbmHdr = new CommodoreHeader(); @@ -218,7 +218,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] sector; @@ -229,10 +229,10 @@ namespace DiscImageChef.Filesystems xmlFSType = new Schemas.FileSystemType(); xmlFSType.Type = "Commodore file system"; - xmlFSType.Clusters = (long)imagePlugin.ImageInfo.sectors; + xmlFSType.Clusters = (long)imagePlugin.ImageInfo.Sectors; xmlFSType.ClusterSize = 256; - if(imagePlugin.ImageInfo.sectors == 3200) + if(imagePlugin.ImageInfo.Sectors == 3200) { sector = imagePlugin.ReadSector(1560); CommodoreHeader cbmHdr = new CommodoreHeader(); diff --git a/DiscImageChef.Filesystems/CPM/CPM.cs b/DiscImageChef.Filesystems/CPM/CPM.cs index 9eab814ac..ef0ad4a0c 100644 --- a/DiscImageChef.Filesystems/CPM/CPM.cs +++ b/DiscImageChef.Filesystems/CPM/CPM.cs @@ -34,7 +34,7 @@ using System; using System.Collections.Generic; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.CPM { diff --git a/DiscImageChef.Filesystems/CPM/Info.cs b/DiscImageChef.Filesystems/CPM/Info.cs index 8d075852c..599d758fb 100644 --- a/DiscImageChef.Filesystems/CPM/Info.cs +++ b/DiscImageChef.Filesystems/CPM/Info.cs @@ -37,7 +37,7 @@ using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.CPM { @@ -47,7 +47,7 @@ namespace DiscImageChef.Filesystems.CPM { // This will only continue on devices with a chance to have ever been used by CP/M while failing on all others // It's ugly, but will stop a lot of false positives - switch(imagePlugin.ImageInfo.mediaType) + switch(imagePlugin.ImageInfo.MediaType) { case MediaType.Unknown: case MediaType.Apple32SS: diff --git a/DiscImageChef.Filesystems/Cram.cs b/DiscImageChef.Filesystems/Cram.cs index d921332ba..c57573dc7 100644 --- a/DiscImageChef.Filesystems/Cram.cs +++ b/DiscImageChef.Filesystems/Cram.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public Cram(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public Cram(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Cram filesystem"; PluginUUID = new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09"); @@ -93,7 +93,7 @@ namespace DiscImageChef.Filesystems const uint Cram_MAGIC = 0x28CD3D45; const uint Cram_CIGAM = 0x453DCD28; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; @@ -104,7 +104,7 @@ namespace DiscImageChef.Filesystems return magic == Cram_MAGIC || magic == Cram_CIGAM; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] sector = imagePlugin.ReadSector(partition.Start); diff --git a/DiscImageChef.Filesystems/ECMA67.cs b/DiscImageChef.Filesystems/ECMA67.cs index 6dbc624f4..6975ed422 100644 --- a/DiscImageChef.Filesystems/ECMA67.cs +++ b/DiscImageChef.Filesystems/ECMA67.cs @@ -36,7 +36,7 @@ using System.Linq; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems { diff --git a/DiscImageChef.Filesystems/EFS.cs b/DiscImageChef.Filesystems/EFS.cs index 2c9cf730c..66fb75a15 100644 --- a/DiscImageChef.Filesystems/EFS.cs +++ b/DiscImageChef.Filesystems/EFS.cs @@ -106,7 +106,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public EFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public EFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Extent File System Plugin"; PluginUUID = new Guid("52A43F90-9AF3-4391-ADFE-65598DEEABAB"); @@ -114,12 +114,12 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; // Misaligned - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { EFS_Superblock efs_sb = new EFS_Superblock(); @@ -161,7 +161,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -170,7 +170,7 @@ namespace DiscImageChef.Filesystems EFS_Superblock efsSb = new EFS_Superblock(); // Misaligned - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { uint sbSize = (uint)((Marshal.SizeOf(efsSb) + 0x400) / imagePlugin.GetSectorSize()); if((Marshal.SizeOf(efsSb) + 0x400) % imagePlugin.GetSectorSize() != 0) sbSize++; diff --git a/DiscImageChef.Filesystems/F2FS.cs b/DiscImageChef.Filesystems/F2FS.cs index 8a1cc0ed7..d6409bfa1 100644 --- a/DiscImageChef.Filesystems/F2FS.cs +++ b/DiscImageChef.Filesystems/F2FS.cs @@ -110,14 +110,14 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.Unicode; } - public F2FS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public F2FS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "F2FS Plugin"; PluginUUID = new Guid("82B0920F-5F0D-4063-9F57-ADE0AE02ECE5"); CurrentEncoding = Encoding.Unicode; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < F2FS_MinSector || imagePlugin.GetSectorSize() > F2FS_MaxSector) return false; @@ -143,7 +143,7 @@ namespace DiscImageChef.Filesystems return f2fsSb.magic == F2FS_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/FAT.cs b/DiscImageChef.Filesystems/FAT.cs index 1f2001d34..56238e087 100644 --- a/DiscImageChef.Filesystems/FAT.cs +++ b/DiscImageChef.Filesystems/FAT.cs @@ -59,7 +59,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public FAT(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public FAT(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Microsoft File Allocation Table"; PluginUUID = new Guid("33513B2C-0D26-0D2D-32C3-79D8611158E0"); @@ -67,7 +67,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -111,7 +111,7 @@ namespace DiscImageChef.Filesystems huge_sectors = BitConverter.ToUInt64(bpb_sector, 0x052); fat_id = fat_sector[0]; int bits_in_bps = Helpers.CountBits.Count(bps); - if(imagePlugin.ImageInfo.sectorSize >= 512) bootable = BitConverter.ToUInt16(bpb_sector, 0x1FE); + if(imagePlugin.ImageInfo.SectorSize >= 512) bootable = BitConverter.ToUInt16(bpb_sector, 0x1FE); bool correct_spc = spc == 1 || spc == 2 || spc == 4 || spc == 8 || spc == 16 || spc == 32 || spc == 64; string msx_string = Encoding.ASCII.GetString(msx_id); @@ -168,7 +168,7 @@ namespace DiscImageChef.Filesystems DicConsole.DebugWriteLine("FAT plugin", "apricot_fat_sectors = {0}", apricot_fat_sectors); // This is to support FAT partitions on hybrid ISO/USB images - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { sectors /= 4; big_sectors /= 4; @@ -285,31 +285,31 @@ namespace DiscImageChef.Filesystems switch(fat_id) { case 0xE5: - if(imagePlugin.ImageInfo.sectors == 2002 && imagePlugin.ImageInfo.sectorSize == 128) + if(imagePlugin.ImageInfo.Sectors == 2002 && imagePlugin.ImageInfo.SectorSize == 128) fat2_sector_no = 2; break; case 0xFD: - if(imagePlugin.ImageInfo.sectors == 4004 && imagePlugin.ImageInfo.sectorSize == 128) + if(imagePlugin.ImageInfo.Sectors == 4004 && imagePlugin.ImageInfo.SectorSize == 128) fat2_sector_no = 7; - else if(imagePlugin.ImageInfo.sectors == 2002 && imagePlugin.ImageInfo.sectorSize == 128) + else if(imagePlugin.ImageInfo.Sectors == 2002 && imagePlugin.ImageInfo.SectorSize == 128) fat2_sector_no = 7; break; case 0xFE: - if(imagePlugin.ImageInfo.sectors == 320 && imagePlugin.ImageInfo.sectorSize == 512) + if(imagePlugin.ImageInfo.Sectors == 320 && imagePlugin.ImageInfo.SectorSize == 512) fat2_sector_no = 2; - else if(imagePlugin.ImageInfo.sectors == 2002 && imagePlugin.ImageInfo.sectorSize == 128) + else if(imagePlugin.ImageInfo.Sectors == 2002 && imagePlugin.ImageInfo.SectorSize == 128) fat2_sector_no = 7; - else if(imagePlugin.ImageInfo.sectors == 1232 && imagePlugin.ImageInfo.sectorSize == 1024) + else if(imagePlugin.ImageInfo.Sectors == 1232 && imagePlugin.ImageInfo.SectorSize == 1024) fat2_sector_no = 3; - else if(imagePlugin.ImageInfo.sectors == 616 && imagePlugin.ImageInfo.sectorSize == 1024) + else if(imagePlugin.ImageInfo.Sectors == 616 && imagePlugin.ImageInfo.SectorSize == 1024) fat2_sector_no = 2; - else if(imagePlugin.ImageInfo.sectors == 720 && imagePlugin.ImageInfo.sectorSize == 128) + else if(imagePlugin.ImageInfo.Sectors == 720 && imagePlugin.ImageInfo.SectorSize == 128) fat2_sector_no = 5; - else if(imagePlugin.ImageInfo.sectors == 640 && imagePlugin.ImageInfo.sectorSize == 512) + else if(imagePlugin.ImageInfo.Sectors == 640 && imagePlugin.ImageInfo.SectorSize == 512) fat2_sector_no = 2; break; case 0xFF: - if(imagePlugin.ImageInfo.sectors == 640 && imagePlugin.ImageInfo.sectorSize == 512) + if(imagePlugin.ImageInfo.Sectors == 640 && imagePlugin.ImageInfo.SectorSize == 512) fat2_sector_no = 2; break; default: @@ -333,7 +333,7 @@ namespace DiscImageChef.Filesystems return fat_id == fat2_sector[0]; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -369,7 +369,7 @@ namespace DiscImageChef.Filesystems byte[] bpb_sector = imagePlugin.ReadSectors(partition.Start, 2); - if(imagePlugin.ImageInfo.sectorSize >= 256) + if(imagePlugin.ImageInfo.SectorSize >= 256) { IntPtr bpbPtr = Marshal.AllocHGlobal(512); Marshal.Copy(bpb_sector, 0, bpbPtr, 512); @@ -436,7 +436,7 @@ namespace DiscImageChef.Filesystems ApricotBPB.mainBPB.spc == 64; // This is to support FAT partitions on hybrid ISO/USB images - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { atariBPB.sectors /= 4; msxBPB.sectors /= 4; @@ -598,7 +598,7 @@ namespace DiscImageChef.Filesystems ulong root_directory_sector = 0; string extraInfo = null; string bootChk = null; - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); byte[] chkTmp; @@ -677,7 +677,7 @@ namespace DiscImageChef.Filesystems switch(fat_sector[0]) { case 0xE5: - if(imagePlugin.ImageInfo.sectors == 2002 && imagePlugin.ImageInfo.sectorSize == 128) + if(imagePlugin.ImageInfo.Sectors == 2002 && imagePlugin.ImageInfo.SectorSize == 128) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 128; @@ -694,7 +694,7 @@ namespace DiscImageChef.Filesystems } break; case 0xFD: - if(imagePlugin.ImageInfo.sectors == 4004 && imagePlugin.ImageInfo.sectorSize == 128) + if(imagePlugin.ImageInfo.Sectors == 4004 && imagePlugin.ImageInfo.SectorSize == 128) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 128; @@ -709,7 +709,7 @@ namespace DiscImageChef.Filesystems fakeBPB.hsectors = 0; fakeBPB.spfat = 6; } - else if(imagePlugin.ImageInfo.sectors == 2002 && imagePlugin.ImageInfo.sectorSize == 128) + else if(imagePlugin.ImageInfo.Sectors == 2002 && imagePlugin.ImageInfo.SectorSize == 128) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 128; @@ -726,7 +726,7 @@ namespace DiscImageChef.Filesystems } break; case 0xFE: - if(imagePlugin.ImageInfo.sectors == 320 && imagePlugin.ImageInfo.sectorSize == 512) + if(imagePlugin.ImageInfo.Sectors == 320 && imagePlugin.ImageInfo.SectorSize == 512) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB for 5.25\" SSDD."); fakeBPB.bps = 512; @@ -741,7 +741,7 @@ namespace DiscImageChef.Filesystems fakeBPB.hsectors = 0; fakeBPB.spfat = 1; } - else if(imagePlugin.ImageInfo.sectors == 2002 && imagePlugin.ImageInfo.sectorSize == 128) + else if(imagePlugin.ImageInfo.Sectors == 2002 && imagePlugin.ImageInfo.SectorSize == 128) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 128; @@ -756,7 +756,7 @@ namespace DiscImageChef.Filesystems fakeBPB.hsectors = 0; fakeBPB.spfat = 6; } - else if(imagePlugin.ImageInfo.sectors == 1232 && imagePlugin.ImageInfo.sectorSize == 1024) + else if(imagePlugin.ImageInfo.Sectors == 1232 && imagePlugin.ImageInfo.SectorSize == 1024) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 1024; @@ -771,7 +771,7 @@ namespace DiscImageChef.Filesystems fakeBPB.hsectors = 0; fakeBPB.spfat = 2; } - else if(imagePlugin.ImageInfo.sectors == 616 && imagePlugin.ImageInfo.sectorSize == 1024) + else if(imagePlugin.ImageInfo.Sectors == 616 && imagePlugin.ImageInfo.SectorSize == 1024) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 1024; @@ -785,7 +785,7 @@ namespace DiscImageChef.Filesystems fakeBPB.heads = 2; fakeBPB.hsectors = 0; } - else if(imagePlugin.ImageInfo.sectors == 720 && imagePlugin.ImageInfo.sectorSize == 128) + else if(imagePlugin.ImageInfo.Sectors == 720 && imagePlugin.ImageInfo.SectorSize == 128) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB."); fakeBPB.bps = 128; @@ -800,7 +800,7 @@ namespace DiscImageChef.Filesystems fakeBPB.hsectors = 0; fakeBPB.spfat = 4; } - else if(imagePlugin.ImageInfo.sectors == 640 && imagePlugin.ImageInfo.sectorSize == 512) + else if(imagePlugin.ImageInfo.Sectors == 640 && imagePlugin.ImageInfo.SectorSize == 512) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB for 5.25\" DSDD."); fakeBPB.bps = 512; @@ -817,7 +817,7 @@ namespace DiscImageChef.Filesystems } break; case 0xFF: - if(imagePlugin.ImageInfo.sectors == 640 && imagePlugin.ImageInfo.sectorSize == 512) + if(imagePlugin.ImageInfo.Sectors == 640 && imagePlugin.ImageInfo.SectorSize == 512) { DicConsole.DebugWriteLine("FAT plugin", "Using hardcoded BPB for 5.25\" DSDD."); fakeBPB.bps = 512; @@ -844,7 +844,7 @@ namespace DiscImageChef.Filesystems isFAT32 = true; // This is to support FAT partitions on hybrid ISO/USB images - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { Fat32BPB.bps *= 4; Fat32BPB.spc /= 4; @@ -934,7 +934,7 @@ namespace DiscImageChef.Filesystems xmlFSType.Bootable |= (Fat32BPB.jump[0] == 0xEB && Fat32BPB.jump[1] > 0x58 && Fat32BPB.jump[1] < 0x80 && Fat32BPB.boot_signature == 0xAA55); - sectors_per_real_sector = Fat32BPB.bps / imagePlugin.ImageInfo.sectorSize; + sectors_per_real_sector = Fat32BPB.bps / imagePlugin.ImageInfo.SectorSize; // First root directory sector root_directory_sector = (ulong)((Fat32BPB.root_cluster - 2) * Fat32BPB.spc + Fat32BPB.big_spfat * Fat32BPB.fats_no + @@ -1158,7 +1158,7 @@ namespace DiscImageChef.Filesystems if(!isFAT32) { // This is to support FAT partitions on hybrid ISO/USB images - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { fakeBPB.bps *= 4; fakeBPB.spc /= 4; @@ -1311,17 +1311,17 @@ namespace DiscImageChef.Filesystems xmlFSType.Bootable |= (fakeBPB.jump[0] == 0xEB && fakeBPB.jump[1] > 0x58 && fakeBPB.jump[1] < 0x80 && fakeBPB.boot_signature == 0xAA55); - sectors_per_real_sector = fakeBPB.bps / imagePlugin.ImageInfo.sectorSize; + sectors_per_real_sector = fakeBPB.bps / imagePlugin.ImageInfo.SectorSize; // First root directory sector root_directory_sector = (ulong)(fakeBPB.spfat * fakeBPB.fats_no + fakeBPB.rsectors) * sectors_per_real_sector; - sectors_for_root_directory = (uint)((fakeBPB.root_ent * 32) / imagePlugin.ImageInfo.sectorSize); + sectors_for_root_directory = (uint)((fakeBPB.root_ent * 32) / imagePlugin.ImageInfo.SectorSize); } if(extraInfo != null) sb.Append(extraInfo); if(root_directory_sector + partition.Start < partition.End && - imagePlugin.ImageInfo.xmlMediaType != ImagePlugins.XmlMediaType.OpticalDisc) + imagePlugin.ImageInfo.XmlMediaType != DiscImages.XmlMediaType.OpticalDisc) { byte[] root_directory = imagePlugin.ReadSectors(root_directory_sector + partition.Start, sectors_for_root_directory); diff --git a/DiscImageChef.Filesystems/FATX.cs b/DiscImageChef.Filesystems/FATX.cs index 5ef7822cc..40e56a379 100644 --- a/DiscImageChef.Filesystems/FATX.cs +++ b/DiscImageChef.Filesystems/FATX.cs @@ -65,14 +65,14 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.UTF8; } - public FATX(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public FATX(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "FATX Filesystem Plugin"; PluginUUID = new Guid("ED27A721-4A17-4649-89FD-33633B46E228"); CurrentEncoding = Encoding.UTF8; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -84,7 +84,7 @@ namespace DiscImageChef.Filesystems return fatxSb.magic == FATX_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -103,15 +103,15 @@ namespace DiscImageChef.Filesystems sb.AppendLine("FATX filesystem"); sb.AppendFormat("Filesystem id {0}", fatxSb.id).AppendLine(); sb.AppendFormat("{0} sectors ({1} bytes) per cluster", fatxSb.sectorsPerCluster, - fatxSb.sectorsPerCluster * imagePlugin.ImageInfo.sectorSize).AppendLine(); + fatxSb.sectorsPerCluster * imagePlugin.ImageInfo.SectorSize).AppendLine(); sb.AppendFormat("Root directory starts on cluster {0}", fatxSb.rootDirectoryCluster).AppendLine(); information = sb.ToString(); xmlFSType = new Schemas.FileSystemType(); xmlFSType.Type = "FATX filesystem"; - xmlFSType.ClusterSize = (int)(fatxSb.sectorsPerCluster * imagePlugin.ImageInfo.sectorSize); - xmlFSType.Clusters = (long)((partition.End - partition.Start + 1) * imagePlugin.ImageInfo.sectorSize / + xmlFSType.ClusterSize = (int)(fatxSb.sectorsPerCluster * imagePlugin.ImageInfo.SectorSize); + xmlFSType.Clusters = (long)((partition.End - partition.Start + 1) * imagePlugin.ImageInfo.SectorSize / (ulong)xmlFSType.ClusterSize); } diff --git a/DiscImageChef.Filesystems/FFS.cs b/DiscImageChef.Filesystems/FFS.cs index 0bc8edf6a..b16a3795c 100644 --- a/DiscImageChef.Filesystems/FFS.cs +++ b/DiscImageChef.Filesystems/FFS.cs @@ -59,7 +59,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public FFSPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public FFSPlugin(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "BSD Fast File System (aka UNIX File System, UFS)"; PluginUUID = new Guid("CC90D342-05DB-48A8-988C-C1FE000034A3"); @@ -67,7 +67,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -102,7 +102,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/Filesystem.cs b/DiscImageChef.Filesystems/Filesystem.cs index 0cd4a4074..1671a4d29 100644 --- a/DiscImageChef.Filesystems/Filesystem.cs +++ b/DiscImageChef.Filesystems/Filesystem.cs @@ -69,7 +69,7 @@ namespace DiscImageChef.Filesystems /// <param name="imagePlugin">Image plugin.</param> /// <param name="partition">Partition.</param> /// <param name="encoding">Which encoding to use for this filesystem.</param> - protected Filesystem(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { } + protected Filesystem(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { } /// <summary> /// Identifies the filesystem in the specified LBA @@ -77,7 +77,7 @@ namespace DiscImageChef.Filesystems /// <param name="imagePlugin">Disk image.</param> /// <param name="partition">Partition.</param> /// <returns><c>true</c>, if the filesystem is recognized, <c>false</c> otherwise.</returns> - public abstract bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition); + public abstract bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition); /// <summary> /// Gets information about the identified filesystem. @@ -85,7 +85,7 @@ namespace DiscImageChef.Filesystems /// <param name="imagePlugin">Disk image.</param> /// <param name="partition">Partition.</param> /// <param name="information">Filesystem information.</param> - public abstract void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public abstract void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information); /// <summary> diff --git a/DiscImageChef.Filesystems/Fossil.cs b/DiscImageChef.Filesystems/Fossil.cs index ddb75f413..529bd1f98 100644 --- a/DiscImageChef.Filesystems/Fossil.cs +++ b/DiscImageChef.Filesystems/Fossil.cs @@ -139,7 +139,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.UTF8; } - public Fossil(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public Fossil(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Fossil Filesystem Plugin"; PluginUUID = new Guid("932BF104-43F6-494F-973C-45EF58A51DA9"); @@ -147,7 +147,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.UTF8; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { ulong hdrSector = HeaderPos / imagePlugin.GetSectorSize(); @@ -164,7 +164,7 @@ namespace DiscImageChef.Filesystems return hdr.magic == Fossil_HdrMagic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/HAMMER.cs b/DiscImageChef.Filesystems/HAMMER.cs index 1709fb68d..c53420cc6 100644 --- a/DiscImageChef.Filesystems/HAMMER.cs +++ b/DiscImageChef.Filesystems/HAMMER.cs @@ -63,7 +63,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public HAMMER(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public HAMMER(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "HAMMER Filesystem"; PluginUUID = new Guid("91A188BF-5FD7-4677-BBD3-F59EBA9C864D"); @@ -71,7 +71,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { uint run = HAMMER_VOLHDR_SIZE / imagePlugin.GetSectorSize(); @@ -88,7 +88,7 @@ namespace DiscImageChef.Filesystems return magic == HAMMER_FSBUF_VOLUME || magic == HAMMER_FSBUF_VOLUME_REV; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/HPFS.cs b/DiscImageChef.Filesystems/HPFS.cs index 02587d73d..d44d22305 100644 --- a/DiscImageChef.Filesystems/HPFS.cs +++ b/DiscImageChef.Filesystems/HPFS.cs @@ -57,7 +57,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public HPFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public HPFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "OS/2 High Performance File System"; PluginUUID = new Guid("33513B2C-f590-4acb-8bf2-0b1d5e19dec5"); @@ -65,7 +65,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((16 + partition.Start) >= partition.End) return false; @@ -81,7 +81,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -206,7 +206,7 @@ namespace DiscImageChef.Filesystems hpfs_bpb.signature2 == 0xAA55) { xmlFSType.Bootable = true; - SHA1Context sha1Ctx = new SHA1Context(); + Sha1Context sha1Ctx = new Sha1Context(); sha1Ctx.Init(); string bootChk = sha1Ctx.Data(hpfs_bpb.boot_code, out byte[] sha1_out); sb.AppendLine("Volume is bootable"); diff --git a/DiscImageChef.Filesystems/ISO9660/ISO9660.cs b/DiscImageChef.Filesystems/ISO9660/ISO9660.cs index 55fd32126..d4974807f 100644 --- a/DiscImageChef.Filesystems/ISO9660/ISO9660.cs +++ b/DiscImageChef.Filesystems/ISO9660/ISO9660.cs @@ -54,7 +54,7 @@ namespace DiscImageChef.Filesystems.ISO9660 else CurrentEncoding = encoding; } - public ISO9660(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public ISO9660(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "ISO9660 Filesystem"; PluginUUID = new Guid("d812f4d3-c357-400d-90fd-3b22ef786aa8"); diff --git a/DiscImageChef.Filesystems/ISO9660/Info.cs b/DiscImageChef.Filesystems/ISO9660/Info.cs index 43bc91809..e06bfeb9d 100644 --- a/DiscImageChef.Filesystems/ISO9660/Info.cs +++ b/DiscImageChef.Filesystems/ISO9660/Info.cs @@ -41,7 +41,7 @@ namespace DiscImageChef.Filesystems.ISO9660 { public partial class ISO9660 : Filesystem { - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { byte VDType; @@ -75,7 +75,7 @@ namespace DiscImageChef.Filesystems.ISO9660 CurrentEncoding.GetString(VDMagic) == CdiMagic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -562,7 +562,7 @@ namespace DiscImageChef.Filesystems.ISO9660 if(torito != null) { vd_sector = imagePlugin.ReadSector(torito.Value.catalog_sector + partition.Start); - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); byte[] boot_image; diff --git a/DiscImageChef.Filesystems/JFS.cs b/DiscImageChef.Filesystems/JFS.cs index 23f2c8683..3f34717a0 100644 --- a/DiscImageChef.Filesystems/JFS.cs +++ b/DiscImageChef.Filesystems/JFS.cs @@ -147,7 +147,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public JFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public JFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "JFS Plugin"; PluginUUID = new Guid("D3BE2A41-8F28-4055-94DC-BB6C72A0E9C4"); @@ -155,7 +155,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { uint bootSectors = JFS_BootBlocksSize / imagePlugin.GetSectorSize(); if(partition.Start + bootSectors >= partition.End) return false; @@ -172,7 +172,7 @@ namespace DiscImageChef.Filesystems return jfsSb.s_magic == JFS_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/LIF.cs b/DiscImageChef.Filesystems/LIF.cs index a34468a80..194ae2e99 100644 --- a/DiscImageChef.Filesystems/LIF.cs +++ b/DiscImageChef.Filesystems/LIF.cs @@ -76,7 +76,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public LIF(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public LIF(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "HP Logical Interchange Format Plugin"; PluginUUID = new Guid("41535647-77A5-477B-9206-DA727ACDC704"); @@ -84,7 +84,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 256) return false; @@ -97,7 +97,7 @@ namespace DiscImageChef.Filesystems return LIFSb.magic == LIF_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/LisaFS/Dir.cs b/DiscImageChef.Filesystems/LisaFS/Dir.cs index 37096a4be..5a5f45291 100644 --- a/DiscImageChef.Filesystems/LisaFS/Dir.cs +++ b/DiscImageChef.Filesystems/LisaFS/Dir.cs @@ -33,7 +33,7 @@ using System; using System.Collections.Generic; using DiscImageChef.Decoders; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.LisaFS { diff --git a/DiscImageChef.Filesystems/LisaFS/Extent.cs b/DiscImageChef.Filesystems/LisaFS/Extent.cs index 1b249009b..1e36599e0 100644 --- a/DiscImageChef.Filesystems/LisaFS/Extent.cs +++ b/DiscImageChef.Filesystems/LisaFS/Extent.cs @@ -33,7 +33,7 @@ using System; using DiscImageChef.Console; using DiscImageChef.Decoders; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.LisaFS { @@ -78,11 +78,11 @@ namespace DiscImageChef.Filesystems.LisaFS // This happens on some disks. // This is a filesystem corruption that makes LisaOS crash on scavenge. // This code just allow to ignore that corruption by searching the Extents File using sector tags - if(ptr >= device.ImageInfo.sectors) + if(ptr >= device.ImageInfo.Sectors) { bool found = false; - for(ulong i = 0; i < device.ImageInfo.sectors; i++) + for(ulong i = 0; i < device.ImageInfo.Sectors; i++) { DecodeTag(device.ReadSectorTag(i, SectorTagType.AppleSectorTag), out extTag); if(extTag.fileID == fileId * -1) diff --git a/DiscImageChef.Filesystems/LisaFS/File.cs b/DiscImageChef.Filesystems/LisaFS/File.cs index 18068c215..3573a21e5 100644 --- a/DiscImageChef.Filesystems/LisaFS/File.cs +++ b/DiscImageChef.Filesystems/LisaFS/File.cs @@ -33,7 +33,7 @@ using System; using DiscImageChef.Console; using DiscImageChef.Decoders; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.LisaFS { diff --git a/DiscImageChef.Filesystems/LisaFS/Info.cs b/DiscImageChef.Filesystems/LisaFS/Info.cs index baba40e22..fce7d4ed4 100644 --- a/DiscImageChef.Filesystems/LisaFS/Info.cs +++ b/DiscImageChef.Filesystems/LisaFS/Info.cs @@ -35,7 +35,7 @@ using System.Text; using DiscImageChef.CommonTypes; using DiscImageChef.Console; using DiscImageChef.Decoders; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.LisaFS { @@ -45,9 +45,9 @@ namespace DiscImageChef.Filesystems.LisaFS { try { - if(imagePlugin.ImageInfo.readableSectorTags == null) return false; + if(imagePlugin.ImageInfo.ReadableSectorTags == null) return false; - if(!imagePlugin.ImageInfo.readableSectorTags.Contains(SectorTagType.AppleSectorTag)) return false; + if(!imagePlugin.ImageInfo.ReadableSectorTags.Contains(SectorTagType.AppleSectorTag)) return false; // LisaOS is big-endian BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; @@ -127,9 +127,9 @@ namespace DiscImageChef.Filesystems.LisaFS try { - if(imagePlugin.ImageInfo.readableSectorTags == null) return; + if(imagePlugin.ImageInfo.ReadableSectorTags == null) return; - if(!imagePlugin.ImageInfo.readableSectorTags.Contains(SectorTagType.AppleSectorTag)) return; + if(!imagePlugin.ImageInfo.ReadableSectorTags.Contains(SectorTagType.AppleSectorTag)) return; // LisaOS is big-endian BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; diff --git a/DiscImageChef.Filesystems/LisaFS/LisaFS.cs b/DiscImageChef.Filesystems/LisaFS/LisaFS.cs index 852f6fe50..331525be8 100644 --- a/DiscImageChef.Filesystems/LisaFS/LisaFS.cs +++ b/DiscImageChef.Filesystems/LisaFS/LisaFS.cs @@ -34,7 +34,7 @@ using System; using System.Collections.Generic; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.LisaFS { diff --git a/DiscImageChef.Filesystems/LisaFS/Super.cs b/DiscImageChef.Filesystems/LisaFS/Super.cs index dcf363e95..c5b97ff12 100644 --- a/DiscImageChef.Filesystems/LisaFS/Super.cs +++ b/DiscImageChef.Filesystems/LisaFS/Super.cs @@ -34,7 +34,7 @@ using System; using System.Collections.Generic; using DiscImageChef.Console; using DiscImageChef.Decoders; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.LisaFS { @@ -58,8 +58,8 @@ namespace DiscImageChef.Filesystems.LisaFS // Lisa OS is unable to work on disks without tags. // This code is designed like that. // However with some effort the code may be modified to ignore them. - if(device.ImageInfo.readableSectorTags == null || - !device.ImageInfo.readableSectorTags.Contains(SectorTagType.AppleSectorTag)) + if(device.ImageInfo.ReadableSectorTags == null || + !device.ImageInfo.ReadableSectorTags.Contains(SectorTagType.AppleSectorTag)) { DicConsole.DebugWriteLine("LisaFS plugin", "Underlying device does not support Lisa tags"); return Errno.InOutError; @@ -76,7 +76,7 @@ namespace DiscImageChef.Filesystems.LisaFS } // MDDF cannot be at end of device, of course - volumePrefix = device.ImageInfo.sectors; + volumePrefix = device.ImageInfo.Sectors; // LisaOS searches sectors until tag tells MDDF resides there, so we'll search 100 sectors for(ulong i = 0; i < 100; i++) @@ -86,7 +86,7 @@ namespace DiscImageChef.Filesystems.LisaFS DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.fileID); - if(volumePrefix == device.ImageInfo.sectors && searchTag.fileID == FILEID_LOADER_SIGNED) + if(volumePrefix == device.ImageInfo.Sectors && searchTag.fileID == FILEID_LOADER_SIGNED) volumePrefix = i - 1; if(searchTag.fileID == FILEID_MDDF) diff --git a/DiscImageChef.Filesystems/Locus.cs b/DiscImageChef.Filesystems/Locus.cs index bd719ce7d..578b12d9b 100644 --- a/DiscImageChef.Filesystems/Locus.cs +++ b/DiscImageChef.Filesystems/Locus.cs @@ -205,7 +205,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public Locus(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public Locus(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Locus Filesystem Plugin"; PluginUUID = new Guid("1A70B30A-437D-479A-88E1-D0C9C1797FF4"); @@ -213,7 +213,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -243,7 +243,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/MicroDOS.cs b/DiscImageChef.Filesystems/MicroDOS.cs index 91c22d16a..b3c4ac13c 100644 --- a/DiscImageChef.Filesystems/MicroDOS.cs +++ b/DiscImageChef.Filesystems/MicroDOS.cs @@ -60,7 +60,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public MicroDOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public MicroDOS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "MicroDOS file system"; PluginUUID = new Guid("9F9A364A-1A27-48A3-B730-7A7122000324"); @@ -68,7 +68,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((1 + partition.Start) >= partition.End) return false; @@ -85,7 +85,7 @@ namespace DiscImageChef.Filesystems return block0.label == magic && block0.mklabel == magic2; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/MinixFS.cs b/DiscImageChef.Filesystems/MinixFS.cs index 4335f034a..ba44c5b9a 100644 --- a/DiscImageChef.Filesystems/MinixFS.cs +++ b/DiscImageChef.Filesystems/MinixFS.cs @@ -78,7 +78,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public MinixFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public MinixFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Minix Filesystem"; PluginUUID = new Guid("FE248C3B-B727-4AE5-A39F-79EA9A07D4B3"); @@ -86,12 +86,12 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { uint sector = 2; uint offset = 0; - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { sector = 0; offset = 0x400; @@ -124,7 +124,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -134,7 +134,7 @@ namespace DiscImageChef.Filesystems uint sector = 2; uint offset = 0; - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { sector = 0; offset = 0x400; diff --git a/DiscImageChef.Filesystems/NILFS2.cs b/DiscImageChef.Filesystems/NILFS2.cs index ec40a4275..ca21be782 100644 --- a/DiscImageChef.Filesystems/NILFS2.cs +++ b/DiscImageChef.Filesystems/NILFS2.cs @@ -111,7 +111,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public NILFS2(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public NILFS2(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "NILFS2 Plugin"; PluginUUID = new Guid("35224226-C5CC-48B5-8FFD-3781E91E86B6"); @@ -119,7 +119,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -144,7 +144,7 @@ namespace DiscImageChef.Filesystems return nilfsSb.magic == NILFS2_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/NTFS.cs b/DiscImageChef.Filesystems/NTFS.cs index 6dcf954bc..6c8fc2fc8 100644 --- a/DiscImageChef.Filesystems/NTFS.cs +++ b/DiscImageChef.Filesystems/NTFS.cs @@ -56,14 +56,14 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.Unicode; } - public NTFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public NTFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "New Technology File System (NTFS)"; PluginUUID = new Guid("33513B2C-1e6d-4d21-a660-0bbc789c3871"); CurrentEncoding = Encoding.Unicode; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -92,7 +92,7 @@ namespace DiscImageChef.Filesystems return signature == 0xAA55; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -147,7 +147,7 @@ namespace DiscImageChef.Filesystems ntfs_bb.signature2 == 0xAA55) { xmlFSType.Bootable = true; - SHA1Context sha1Ctx = new SHA1Context(); + Sha1Context sha1Ctx = new Sha1Context(); sha1Ctx.Init(); string bootChk = sha1Ctx.Data(ntfs_bb.boot_code, out byte[] sha1_out); sb.AppendLine("Volume is bootable"); diff --git a/DiscImageChef.Filesystems/Nintendo.cs b/DiscImageChef.Filesystems/Nintendo.cs index e0187caf9..b48728e81 100644 --- a/DiscImageChef.Filesystems/Nintendo.cs +++ b/DiscImageChef.Filesystems/Nintendo.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public NintendoPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public NintendoPlugin(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Nintendo optical filesystems"; PluginUUID = new Guid("4675fcb4-4418-4288-9e4a-33d6a4ac1126"); @@ -63,7 +63,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start != 0) return false; @@ -81,7 +81,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); diff --git a/DiscImageChef.Filesystems/ODS.cs b/DiscImageChef.Filesystems/ODS.cs index 02188ab25..d9df0d1e2 100644 --- a/DiscImageChef.Filesystems/ODS.cs +++ b/DiscImageChef.Filesystems/ODS.cs @@ -65,7 +65,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public ODS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public ODS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Files-11 On-Disk Structure"; PluginUUID = new Guid("de20633c-8021-4384-aeb0-83b0df14491f"); @@ -73,7 +73,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -91,7 +91,7 @@ namespace DiscImageChef.Filesystems if(magic == "DECFILE11A " || magic == "DECFILE11B ") return true; // Optical disc - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { if(hb_sector.Length < 0x400) return false; @@ -108,7 +108,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -126,7 +126,7 @@ namespace DiscImageChef.Filesystems handle.Free(); // Optical disc - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc && + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc && StringHandlers.CToString(homeblock.format) != "DECFILE11A " && StringHandlers.CToString(homeblock.format) != "DECFILE11B ") { diff --git a/DiscImageChef.Filesystems/Opera.cs b/DiscImageChef.Filesystems/Opera.cs index a6c93fe2d..a91546f92 100644 --- a/DiscImageChef.Filesystems/Opera.cs +++ b/DiscImageChef.Filesystems/Opera.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.ASCII; } - public OperaFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public OperaFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Opera Filesystem Plugin"; PluginUUID = new Guid("0ec84ec7-eae6-4196-83fe-943b3fe46dbd"); @@ -63,7 +63,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.ASCII; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -82,7 +82,7 @@ namespace DiscImageChef.Filesystems return Encoding.ASCII.GetString(sync_bytes) == "ZZZZZ"; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/PCEngine.cs b/DiscImageChef.Filesystems/PCEngine.cs index aa0ae0ca9..252162731 100644 --- a/DiscImageChef.Filesystems/PCEngine.cs +++ b/DiscImageChef.Filesystems/PCEngine.cs @@ -54,7 +54,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public PCEnginePlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public PCEnginePlugin(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "PC Engine CD Plugin"; PluginUUID = new Guid("e5ee6d7c-90fa-49bd-ac89-14ef750b8af3"); @@ -62,7 +62,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -74,7 +74,7 @@ namespace DiscImageChef.Filesystems return Encoding.ASCII.GetString(system_descriptor) == "PC Engine CD-ROM SYSTEM"; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/PFS.cs b/DiscImageChef.Filesystems/PFS.cs index 9f7faa97f..8280df5e0 100644 --- a/DiscImageChef.Filesystems/PFS.cs +++ b/DiscImageChef.Filesystems/PFS.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public PFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public PFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Professional File System"; PluginUUID = new Guid("68DE769E-D957-406A-8AE4-3781CA8CDA77"); @@ -185,7 +185,7 @@ namespace DiscImageChef.Filesystems /// </summary> const uint MUPFS_DISK = 0x6D755046; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Length < 3) return false; @@ -199,7 +199,7 @@ namespace DiscImageChef.Filesystems magic == MUPFS_DISK; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] RootBlockSector = imagePlugin.ReadSector(2 + partition.Start); diff --git a/DiscImageChef.Filesystems/ProDOS.cs b/DiscImageChef.Filesystems/ProDOS.cs index c06d9d58b..c09aee28f 100644 --- a/DiscImageChef.Filesystems/ProDOS.cs +++ b/DiscImageChef.Filesystems/ProDOS.cs @@ -94,7 +94,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = new Claunia.Encoding.LisaRoman(); } - public ProDOSPlugin(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public ProDOSPlugin(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Apple ProDOS filesystem"; PluginUUID = new Guid("43874265-7B8A-4739-BCF7-07F80D5932BF"); @@ -102,7 +102,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = new Claunia.Encoding.LisaRoman(); } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Length < 3) return false; @@ -156,7 +156,7 @@ namespace DiscImageChef.Filesystems return total_blocks <= (partition.End - partition.Start + 1); } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); @@ -305,7 +305,7 @@ namespace DiscImageChef.Filesystems xmlFSType.Files = rootDirectoryKeyBlock.header.file_count; xmlFSType.FilesSpecified = true; xmlFSType.Clusters = rootDirectoryKeyBlock.header.total_blocks; - xmlFSType.ClusterSize = (int)(((partition.End - partition.Start) + 1) * imagePlugin.ImageInfo.sectorSize / + xmlFSType.ClusterSize = (int)(((partition.End - partition.Start) + 1) * imagePlugin.ImageInfo.SectorSize / (ulong)xmlFSType.Clusters); xmlFSType.Type = "ProDOS"; diff --git a/DiscImageChef.Filesystems/QNX4.cs b/DiscImageChef.Filesystems/QNX4.cs index dba7c329d..5f9679d62 100644 --- a/DiscImageChef.Filesystems/QNX4.cs +++ b/DiscImageChef.Filesystems/QNX4.cs @@ -118,7 +118,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public QNX4(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public QNX4(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "QNX4 Plugin"; PluginUUID = new Guid("E73A63FA-B5B0-48BF-BF82-DA5F0A8170D2"); @@ -126,7 +126,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start + 1 >= imagePlugin.GetSectors()) return false; @@ -160,7 +160,7 @@ namespace DiscImageChef.Filesystems return true; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/QNX6.cs b/DiscImageChef.Filesystems/QNX6.cs index 6ac72e2f0..40c5e3c56 100644 --- a/DiscImageChef.Filesystems/QNX6.cs +++ b/DiscImageChef.Filesystems/QNX6.cs @@ -113,7 +113,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public QNX6(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public QNX6(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "QNX6 Plugin"; PluginUUID = new Guid("3E610EA2-4D08-4D70-8947-830CD4C74FC0"); @@ -121,7 +121,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { uint sectors = QNX6_SuperBlockSize / imagePlugin.GetSectorSize(); uint bootSectors = QNX6_BootBlocksSize / imagePlugin.GetSectorSize(); @@ -147,7 +147,7 @@ namespace DiscImageChef.Filesystems return qnxSb.magic == QNX6_Magic || audiSb.magic == QNX6_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/RBF.cs b/DiscImageChef.Filesystems/RBF.cs index f5016fe88..aeaae7889 100644 --- a/DiscImageChef.Filesystems/RBF.cs +++ b/DiscImageChef.Filesystems/RBF.cs @@ -165,7 +165,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public RBF(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public RBF(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "OS-9 Random Block File Plugin"; PluginUUID = new Guid("E864E45B-0B52-4D29-A858-7BDFA9199FB2"); @@ -173,7 +173,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 256) return false; @@ -206,7 +206,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/RT11.cs b/DiscImageChef.Filesystems/RT11.cs index 74497922a..12869fac0 100644 --- a/DiscImageChef.Filesystems/RT11.cs +++ b/DiscImageChef.Filesystems/RT11.cs @@ -57,7 +57,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public RT11(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public RT11(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "RT-11 file system"; PluginUUID = new Guid("DB3E2F98-8F98-463C-8126-E937843DA024"); @@ -65,7 +65,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((1 + partition.Start) >= partition.End) return false; @@ -81,7 +81,7 @@ namespace DiscImageChef.Filesystems return magic == "DECRT11A "; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/Reiser.cs b/DiscImageChef.Filesystems/Reiser.cs index 248cbfe81..ada2d06a2 100644 --- a/DiscImageChef.Filesystems/Reiser.cs +++ b/DiscImageChef.Filesystems/Reiser.cs @@ -103,7 +103,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public Reiser(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public Reiser(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Reiser Filesystem Plugin"; PluginUUID = new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA"); @@ -111,7 +111,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -137,7 +137,7 @@ namespace DiscImageChef.Filesystems ReiserJr_Magic.SequenceEqual(reiserSb.magic); } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/Reiser4.cs b/DiscImageChef.Filesystems/Reiser4.cs index 9e1bd0a9b..e96823931 100644 --- a/DiscImageChef.Filesystems/Reiser4.cs +++ b/DiscImageChef.Filesystems/Reiser4.cs @@ -70,7 +70,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public Reiser4(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public Reiser4(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Reiser4 Filesystem Plugin"; PluginUUID = new Guid("301F2D00-E8D5-4F04-934E-81DFB21D15BA"); @@ -78,7 +78,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -103,7 +103,7 @@ namespace DiscImageChef.Filesystems return Reiser4_Magic.SequenceEqual(reiserSb.magic); } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/SFS.cs b/DiscImageChef.Filesystems/SFS.cs index 3cb0b536b..930e917a1 100644 --- a/DiscImageChef.Filesystems/SFS.cs +++ b/DiscImageChef.Filesystems/SFS.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public SFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public SFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "SmartFileSystem"; PluginUUID = new Guid("26550C19-3671-4A2D-BC2F-F20CEB7F48DC"); @@ -102,7 +102,7 @@ namespace DiscImageChef.Filesystems /// <summary>Identifier for SFS v2</summary> const uint SFS2_MAGIC = 0x53465302; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; @@ -115,7 +115,7 @@ namespace DiscImageChef.Filesystems return magic == SFS_MAGIC || magic == SFS2_MAGIC; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] RootBlockSector = imagePlugin.ReadSector(partition.Start); diff --git a/DiscImageChef.Filesystems/SolarFS.cs b/DiscImageChef.Filesystems/SolarFS.cs index e110db0bb..d0d33d993 100644 --- a/DiscImageChef.Filesystems/SolarFS.cs +++ b/DiscImageChef.Filesystems/SolarFS.cs @@ -56,7 +56,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public SolarFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public SolarFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Solar_OS filesystem"; PluginUUID = new Guid("EA3101C1-E777-4B4F-B5A3-8C57F50F6E65"); @@ -64,7 +64,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -84,7 +84,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/Squash.cs b/DiscImageChef.Filesystems/Squash.cs index 265a7a9ec..e761817da 100644 --- a/DiscImageChef.Filesystems/Squash.cs +++ b/DiscImageChef.Filesystems/Squash.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public Squash(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public Squash(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Squash filesystem"; PluginUUID = new Guid("F8F6E46F-7A2A-48E3-9C0A-46AF4DC29E09"); @@ -103,7 +103,7 @@ namespace DiscImageChef.Filesystems const uint Squash_MAGIC = 0x73717368; const uint Squash_CIGAM = 0x68737173; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; @@ -114,7 +114,7 @@ namespace DiscImageChef.Filesystems return magic == Squash_MAGIC || magic == Squash_CIGAM; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] sector = imagePlugin.ReadSector(partition.Start); @@ -179,7 +179,7 @@ namespace DiscImageChef.Filesystems xmlFSType.Type = "Squash file system"; xmlFSType.CreationDate = DateHandlers.UNIXUnsignedToDateTime(sqSb.mkfs_time); xmlFSType.CreationDateSpecified = true; - xmlFSType.Clusters = (long)(((partition.End - partition.Start + 1) * imagePlugin.ImageInfo.sectorSize) / + xmlFSType.Clusters = (long)(((partition.End - partition.Start + 1) * imagePlugin.ImageInfo.SectorSize) / sqSb.block_size); xmlFSType.ClusterSize = (int)sqSb.block_size; xmlFSType.Files = sqSb.inodes; diff --git a/DiscImageChef.Filesystems/SysV.cs b/DiscImageChef.Filesystems/SysV.cs index 8f062b8a0..0613f3173 100644 --- a/DiscImageChef.Filesystems/SysV.cs +++ b/DiscImageChef.Filesystems/SysV.cs @@ -73,7 +73,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public SysVfs(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public SysVfs(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "UNIX System V filesystem"; PluginUUID = new Guid("9B8D016A-8561-400E-A12A-A198283C211D"); @@ -81,7 +81,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -122,7 +122,7 @@ namespace DiscImageChef.Filesystems return false; // Sectors in a cylinder - int spc = (int)(imagePlugin.ImageInfo.heads * imagePlugin.ImageInfo.sectorsPerTrack); + int spc = (int)(imagePlugin.ImageInfo.Heads * imagePlugin.ImageInfo.SectorsPerTrack); // Superblock can start on 0x000, 0x200, 0x600 and 0x800, not aligned, so we assume 16 (128 bytes/sector) sectors as a safe value int[] locations = @@ -134,7 +134,7 @@ namespace DiscImageChef.Filesystems foreach(int i in locations) { - if(i + sb_size_in_sectors >= (int)imagePlugin.ImageInfo.sectors) break; + if(i + sb_size_in_sectors >= (int)imagePlugin.ImageInfo.Sectors) break; byte[] sb_sector = imagePlugin.ReadSectors((ulong)i + partition.Start, sb_size_in_sectors); @@ -192,7 +192,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -220,7 +220,7 @@ namespace DiscImageChef.Filesystems sb_size_in_sectors = (byte)(0x400 / imagePlugin.GetSectorSize()); else sb_size_in_sectors = 1; // If not a single sector can store it // Sectors in a cylinder - int spc = (int)(imagePlugin.ImageInfo.heads * imagePlugin.ImageInfo.sectorsPerTrack); + int spc = (int)(imagePlugin.ImageInfo.Heads * imagePlugin.ImageInfo.SectorsPerTrack); // Superblock can start on 0x000, 0x200, 0x600 and 0x800, not aligned, so we assume 16 (128 bytes/sector) sectors as a safe value int[] locations = diff --git a/DiscImageChef.Filesystems/UCSDPascal/Info.cs b/DiscImageChef.Filesystems/UCSDPascal/Info.cs index a7b4eb8f6..000b90e1f 100644 --- a/DiscImageChef.Filesystems/UCSDPascal/Info.cs +++ b/DiscImageChef.Filesystems/UCSDPascal/Info.cs @@ -39,7 +39,7 @@ namespace DiscImageChef.Filesystems.UCSDPascal // Information from Call-A.P.P.L.E. Pascal Disk Directory Structure public partial class PascalPlugin : Filesystem { - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Length < 3) return false; @@ -83,7 +83,7 @@ namespace DiscImageChef.Filesystems.UCSDPascal return true; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { StringBuilder sbInformation = new StringBuilder(); diff --git a/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs b/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs index 53b88b6c1..b004ec223 100644 --- a/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs +++ b/DiscImageChef.Filesystems/UCSDPascal/UCSDPascal.cs @@ -34,7 +34,7 @@ using System; using System.Collections.Generic; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems.UCSDPascal { diff --git a/DiscImageChef.Filesystems/UDF.cs b/DiscImageChef.Filesystems/UDF.cs index f4d131e1a..b46737bcb 100644 --- a/DiscImageChef.Filesystems/UDF.cs +++ b/DiscImageChef.Filesystems/UDF.cs @@ -37,7 +37,7 @@ using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems { @@ -231,13 +231,13 @@ namespace DiscImageChef.Filesystems public ushort maximumWriteUDF; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { // UDF needs at least that if(partition.End - partition.Start < 256) return false; // UDF needs at least that - if(imagePlugin.ImageInfo.sectorSize < 512) return false; + if(imagePlugin.ImageInfo.SectorSize < 512) return false; byte[] sector; AnchorVolumeDescriptorPointer anchor = new AnchorVolumeDescriptorPointer(); @@ -321,7 +321,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { byte[] sector; @@ -457,7 +457,7 @@ namespace DiscImageChef.Filesystems xmlFSType.ApplicationIdentifier = CurrentEncoding .GetString(pvd.implementationIdentifier.identifier).TrimEnd(new char[] {'\u0000'}); xmlFSType.ClusterSize = (int)lvd.logicalBlockSize; - xmlFSType.Clusters = (long)(((partition.End - partition.Start + 1) * imagePlugin.ImageInfo.sectorSize) / + xmlFSType.Clusters = (long)(((partition.End - partition.Start + 1) * imagePlugin.ImageInfo.SectorSize) / (ulong)xmlFSType.ClusterSize); xmlFSType.ModificationDate = ECMAToDateTime(lvid.recordingDateTime); xmlFSType.ModificationDateSpecified = true; diff --git a/DiscImageChef.Filesystems/UNICOS.cs b/DiscImageChef.Filesystems/UNICOS.cs index ec6506014..187bcd575 100644 --- a/DiscImageChef.Filesystems/UNICOS.cs +++ b/DiscImageChef.Filesystems/UNICOS.cs @@ -147,7 +147,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public UNICOS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public UNICOS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "UNICOS Filesystem Plugin"; PluginUUID = new Guid("61712F04-066C-44D5-A2A0-1E44C66B33F0"); @@ -155,7 +155,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -175,7 +175,7 @@ namespace DiscImageChef.Filesystems return unicosSb.s_magic == UNICOS_Magic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/UNIXBFS.cs b/DiscImageChef.Filesystems/UNIXBFS.cs index d43c2fe51..4b1957e64 100644 --- a/DiscImageChef.Filesystems/UNIXBFS.cs +++ b/DiscImageChef.Filesystems/UNIXBFS.cs @@ -58,7 +58,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public BFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public BFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "UNIX Boot filesystem"; PluginUUID = new Guid("1E6E0DA6-F7E4-494C-80C6-CB5929E96155"); @@ -66,7 +66,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if((2 + partition.Start) >= partition.End) return false; @@ -77,7 +77,7 @@ namespace DiscImageChef.Filesystems return magic == BFS_MAGIC; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/VMfs.cs b/DiscImageChef.Filesystems/VMfs.cs index 108c593b6..a082efc01 100644 --- a/DiscImageChef.Filesystems/VMfs.cs +++ b/DiscImageChef.Filesystems/VMfs.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public VMfs(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public VMfs(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "VMware filesystem"; PluginUUID = new Guid("EE52BDB8-B49C-4122-A3DA-AD21CBE79843"); @@ -93,11 +93,11 @@ namespace DiscImageChef.Filesystems const uint VMfs_MAGIC = 0xC001D00D; const uint VMfs_Base = 0x00100000; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(partition.Start >= partition.End) return false; - ulong vmfsSuperOff = VMfs_Base / imagePlugin.ImageInfo.sectorSize; + ulong vmfsSuperOff = VMfs_Base / imagePlugin.ImageInfo.SectorSize; if(partition.Start + vmfsSuperOff > partition.End) return false; @@ -108,10 +108,10 @@ namespace DiscImageChef.Filesystems return magic == VMfs_MAGIC; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { - ulong vmfsSuperOff = VMfs_Base / imagePlugin.ImageInfo.sectorSize; + ulong vmfsSuperOff = VMfs_Base / imagePlugin.ImageInfo.SectorSize; byte[] sector = imagePlugin.ReadSector(partition.Start + vmfsSuperOff); VolumeInfo volInfo = new VolumeInfo(); @@ -148,8 +148,8 @@ namespace DiscImageChef.Filesystems xmlFSType.CreationDateSpecified = true; xmlFSType.ModificationDate = DateHandlers.UNIXUnsignedToDateTime(mtimeSecs, mtimeNanoSecs); xmlFSType.ModificationDateSpecified = true; - xmlFSType.Clusters = volInfo.size * 256 / imagePlugin.ImageInfo.sectorSize; - xmlFSType.ClusterSize = (int)imagePlugin.ImageInfo.sectorSize; + xmlFSType.Clusters = volInfo.size * 256 / imagePlugin.ImageInfo.SectorSize; + xmlFSType.ClusterSize = (int)imagePlugin.ImageInfo.SectorSize; xmlFSType.VolumeSerial = volInfo.uuid.ToString(); } diff --git a/DiscImageChef.Filesystems/VxFS.cs b/DiscImageChef.Filesystems/VxFS.cs index cd6f9685b..29a37d993 100644 --- a/DiscImageChef.Filesystems/VxFS.cs +++ b/DiscImageChef.Filesystems/VxFS.cs @@ -55,7 +55,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public VxFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public VxFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Veritas filesystem"; PluginUUID = new Guid("EC372605-7687-453C-8BEA-7E0DFF79CB03"); @@ -212,9 +212,9 @@ namespace DiscImageChef.Filesystems const uint VxFS_MAGIC = 0xA501FCF5; const uint VxFS_Base = 0x400; - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { - ulong vmfsSuperOff = VxFS_Base / imagePlugin.ImageInfo.sectorSize; + ulong vmfsSuperOff = VxFS_Base / imagePlugin.ImageInfo.SectorSize; if(partition.Start + vmfsSuperOff >= partition.End) return false; @@ -225,10 +225,10 @@ namespace DiscImageChef.Filesystems return magic == VxFS_MAGIC; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { - ulong vmfsSuperOff = VxFS_Base / imagePlugin.ImageInfo.sectorSize; + ulong vmfsSuperOff = VxFS_Base / imagePlugin.ImageInfo.SectorSize; byte[] sector = imagePlugin.ReadSector(partition.Start + vmfsSuperOff); VxSuperBlock vxSb = new VxSuperBlock(); diff --git a/DiscImageChef.Filesystems/XFS.cs b/DiscImageChef.Filesystems/XFS.cs index 083a8055e..d58497263 100644 --- a/DiscImageChef.Filesystems/XFS.cs +++ b/DiscImageChef.Filesystems/XFS.cs @@ -119,7 +119,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public XFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public XFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "XFS Filesystem Plugin"; PluginUUID = new Guid("1D8CD8B8-27E6-410F-9973-D16409225FBA"); @@ -127,12 +127,12 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; // Misaligned - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { XFS_Superblock xfsSb = new XFS_Superblock(); @@ -180,7 +180,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -189,7 +189,7 @@ namespace DiscImageChef.Filesystems XFS_Superblock xfsSb = new XFS_Superblock(); // Misaligned - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { uint sbSize = (uint)((Marshal.SizeOf(xfsSb) + 0x400) / imagePlugin.GetSectorSize()); if((Marshal.SizeOf(xfsSb) + 0x400) % imagePlugin.GetSectorSize() != 0) sbSize++; diff --git a/DiscImageChef.Filesystems/ZFS.cs b/DiscImageChef.Filesystems/ZFS.cs index b8271a54f..134245be3 100644 --- a/DiscImageChef.Filesystems/ZFS.cs +++ b/DiscImageChef.Filesystems/ZFS.cs @@ -237,7 +237,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.UTF8; } - public ZFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public ZFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "ZFS Filesystem Plugin"; PluginUUID = new Guid("0750014F-A714-4692-A369-E23F6EC3659C"); @@ -245,7 +245,7 @@ namespace DiscImageChef.Filesystems CurrentEncoding = Encoding.UTF8; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -269,7 +269,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; @@ -279,7 +279,7 @@ namespace DiscImageChef.Filesystems ulong magic; ulong nvlistOff = 32; - uint nvlistLen = 114688 / imagePlugin.ImageInfo.sectorSize; + uint nvlistLen = 114688 / imagePlugin.ImageInfo.SectorSize; byte[] nvlist; if(partition.Start + 31 < partition.End) diff --git a/DiscImageChef.Filesystems/dump.cs b/DiscImageChef.Filesystems/dump.cs index d989ed986..23fe7c300 100644 --- a/DiscImageChef.Filesystems/dump.cs +++ b/DiscImageChef.Filesystems/dump.cs @@ -221,7 +221,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public dump(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public dump(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "dump(8) Plugin"; PluginUUID = new Guid("E53B4D28-C858-4800-B092-DDAE80D361B9"); @@ -229,7 +229,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -270,7 +270,7 @@ namespace DiscImageChef.Filesystems newHdr.c_magic == NFS_CIGAM || newHdr.c_magic == UFS2_MAGIC || newHdr.c_magic == UFS2_CIGAM; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/exFAT.cs b/DiscImageChef.Filesystems/exFAT.cs index 285f99513..bcd2649af 100644 --- a/DiscImageChef.Filesystems/exFAT.cs +++ b/DiscImageChef.Filesystems/exFAT.cs @@ -36,7 +36,7 @@ using System.Linq; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Filesystems { diff --git a/DiscImageChef.Filesystems/ext2FS.cs b/DiscImageChef.Filesystems/ext2FS.cs index 9ef316b5a..a33af76b8 100644 --- a/DiscImageChef.Filesystems/ext2FS.cs +++ b/DiscImageChef.Filesystems/ext2FS.cs @@ -58,7 +58,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public ext2FS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public ext2FS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Linux extended Filesystem 2, 3 and 4"; PluginUUID = new Guid("6AA91B88-150B-4A7B-AD56-F84FB2DF4184"); @@ -66,7 +66,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { ulong sbSector = sbPos / imagePlugin.GetSectorSize(); uint sbOff = sbPos % imagePlugin.GetSectorSize(); @@ -88,7 +88,7 @@ namespace DiscImageChef.Filesystems return false; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Filesystems/extFS.cs b/DiscImageChef.Filesystems/extFS.cs index aca38e9ea..82753abf3 100644 --- a/DiscImageChef.Filesystems/extFS.cs +++ b/DiscImageChef.Filesystems/extFS.cs @@ -57,7 +57,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public extFS(ImagePlugins.ImagePlugin imagePlugin, Partition partition, Encoding encoding) + public extFS(DiscImages.ImagePlugin imagePlugin, Partition partition, Encoding encoding) { Name = "Linux extended Filesystem"; PluginUUID = new Guid("076CB3A2-08C2-4D69-BC8A-FCAA2E502BE2"); @@ -65,7 +65,7 @@ namespace DiscImageChef.Filesystems else CurrentEncoding = encoding; } - public override bool Identify(ImagePlugins.ImagePlugin imagePlugin, Partition partition) + public override bool Identify(DiscImages.ImagePlugin imagePlugin, Partition partition) { if(imagePlugin.GetSectorSize() < 512) return false; @@ -83,7 +83,7 @@ namespace DiscImageChef.Filesystems return magic == extFSMagic; } - public override void GetInformation(ImagePlugins.ImagePlugin imagePlugin, Partition partition, + public override void GetInformation(DiscImages.ImagePlugin imagePlugin, Partition partition, out string information) { information = ""; diff --git a/DiscImageChef.Partitions/Acorn.cs b/DiscImageChef.Partitions/Acorn.cs index 447a5fdb6..ee5685fcd 100644 --- a/DiscImageChef.Partitions/Acorn.cs +++ b/DiscImageChef.Partitions/Acorn.cs @@ -35,11 +35,11 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class Acorn : PartPlugin + public class Acorn : PartitionPlugin { const ulong ADFS_SB_POS = 0xC00; const uint LINUX_MAGIC = 0xDEAFA1DE; @@ -53,7 +53,7 @@ namespace DiscImageChef.PartPlugins public Acorn() { Name = "Acorn FileCore partitions"; - PluginUUID = new Guid("A7C8FEBE-8D00-4933-B9F3-42184C8BA808"); + PluginUuid = new Guid("A7C8FEBE-8D00-4933-B9F3-42184C8BA808"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) @@ -98,7 +98,7 @@ namespace DiscImageChef.PartPlugins Size = (ulong)bootBlock.discRecord.disc_size_high * 0x100000000 + bootBlock.discRecord.disc_size, Length = ((ulong)bootBlock.discRecord.disc_size_high * 0x100000000 + bootBlock.discRecord.disc_size) / - imagePlugin.ImageInfo.sectorSize, + imagePlugin.ImageInfo.SectorSize, Type = "ADFS", Name = StringHandlers.CToString(bootBlock.discRecord.disc_name, Encoding.GetEncoding("iso-8859-1")) }; diff --git a/DiscImageChef.Partitions/AppleMap.cs b/DiscImageChef.Partitions/AppleMap.cs index 5f87ef4d1..edbb0f8fa 100644 --- a/DiscImageChef.Partitions/AppleMap.cs +++ b/DiscImageChef.Partitions/AppleMap.cs @@ -36,11 +36,11 @@ using System.Runtime.InteropServices; using System.Text; using DiscImageChef.Console; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { // Information about structures learnt from Inside Macintosh // Constants from image testing - public class AppleMap : PartPlugin + public class AppleMap : PartitionPlugin { /// <summary>"ER", driver descriptor magic</summary> const ushort DDM_MAGIC = 0x4552; @@ -54,10 +54,10 @@ namespace DiscImageChef.PartPlugins public AppleMap() { Name = "Apple Partition Map"; - PluginUUID = new Guid("36405F8D-4F1A-07F5-209C-223D735D6D22"); + PluginUuid = new Guid("36405F8D-4F1A-07F5-209C-223D735D6D22"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { uint sector_size; @@ -318,19 +318,19 @@ namespace DiscImageChef.PartPlugins } _partition.Description = sb.ToString(); - if(_partition.Start < imagePlugin.ImageInfo.sectors && - _partition.End < imagePlugin.ImageInfo.sectors) + if(_partition.Start < imagePlugin.ImageInfo.Sectors && + _partition.End < imagePlugin.ImageInfo.Sectors) { partitions.Add(_partition); sequence++; } // Some CD and DVDs end with an Apple_Free that expands beyond the disc size... - else if(_partition.Start < imagePlugin.ImageInfo.sectors) + else if(_partition.Start < imagePlugin.ImageInfo.Sectors) { DicConsole.DebugWriteLine("AppleMap Plugin", "Cutting last partition end ({0}) to media size ({1})", - _partition.End, imagePlugin.ImageInfo.sectors - 1); - _partition.Length = imagePlugin.ImageInfo.sectors - _partition.Start; + _partition.End, imagePlugin.ImageInfo.Sectors - 1); + _partition.Length = imagePlugin.ImageInfo.Sectors - _partition.Start; partitions.Add(_partition); sequence++; } @@ -338,7 +338,7 @@ namespace DiscImageChef.PartPlugins { DicConsole.DebugWriteLine("AppleMap Plugin", "Not adding partition becaus start ({0}) is outside media size ({1})", - _partition.Start, imagePlugin.ImageInfo.sectors - 1); + _partition.Start, imagePlugin.ImageInfo.Sectors - 1); } } } diff --git a/DiscImageChef.Partitions/Apricot.cs b/DiscImageChef.Partitions/Apricot.cs index d07a344b1..104988abe 100644 --- a/DiscImageChef.Partitions/Apricot.cs +++ b/DiscImageChef.Partitions/Apricot.cs @@ -35,11 +35,11 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class Apricot : PartPlugin + public class Apricot : PartitionPlugin { readonly string[] operatingSystemCodes = {"Invalid", "MS-DOS", "UCSD Pascal", "CP/M", "Concurrent CP/M"}; readonly string[] bootTypeCodes = @@ -59,7 +59,7 @@ namespace DiscImageChef.PartPlugins public Apricot() { Name = "ACT Apricot partitions"; - PluginUUID = new Guid("8CBF5864-7B5A-47A0-8CEB-199C74FA22DE"); + PluginUuid = new Guid("8CBF5864-7B5A-47A0-8CEB-199C74FA22DE"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/Atari.cs b/DiscImageChef.Partitions/Atari.cs index 369141f0c..859fa001a 100644 --- a/DiscImageChef.Partitions/Atari.cs +++ b/DiscImageChef.Partitions/Atari.cs @@ -35,9 +35,9 @@ using System.Collections.Generic; using System.Text; using DiscImageChef.Console; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class AtariPartitions : PartPlugin + public class AtariPartitions : PartitionPlugin { const uint TypeGEMDOS = 0x0047454D; const uint TypeBigGEMDOS = 0x0042474D; @@ -55,10 +55,10 @@ namespace DiscImageChef.PartPlugins public AtariPartitions() { Name = "Atari partitions"; - PluginUUID = new Guid("d1dd0f24-ec39-4c4d-9072-be31919a3b5e"); + PluginUuid = new Guid("d1dd0f24-ec39-4c4d-9072-be31919a3b5e"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { partitions = new List<CommonTypes.Partition>(); @@ -99,7 +99,7 @@ namespace DiscImageChef.PartPlugins table.badLength = BigEndianBitConverter.ToUInt32(sector, 506); table.checksum = BigEndianBitConverter.ToUInt16(sector, 510); - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); sha1Ctx.Update(table.boot); DicConsole.DebugWriteLine("Atari partition plugin", "Boot code SHA1: {0}", sha1Ctx.End()); diff --git a/DiscImageChef.Partitions/BSD.cs b/DiscImageChef.Partitions/BSD.cs index 86aea78c3..96d2db132 100644 --- a/DiscImageChef.Partitions/BSD.cs +++ b/DiscImageChef.Partitions/BSD.cs @@ -36,11 +36,11 @@ using System.Linq; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class BSD : PartPlugin + public class BSD : PartitionPlugin { const uint DISKMAGIC = 0x82564557; const uint DISKCIGAM = 0x57455682; @@ -54,7 +54,7 @@ namespace DiscImageChef.PartPlugins public BSD() { Name = "BSD disklabel"; - PluginUUID = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + PluginUuid = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/DEC.cs b/DiscImageChef.Partitions/DEC.cs index ea1941538..595c783ae 100644 --- a/DiscImageChef.Partitions/DEC.cs +++ b/DiscImageChef.Partitions/DEC.cs @@ -34,11 +34,11 @@ using System; using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class DEC : PartPlugin + public class DEC : PartitionPlugin { const int PT_MAGIC = 0x032957; const int PT_VALID = 1; @@ -46,7 +46,7 @@ namespace DiscImageChef.PartPlugins public DEC() { Name = "DEC disklabel"; - PluginUUID = new Guid("58CEC3B7-3B93-4D47-86EE-D6DADE9D444F"); + PluginUuid = new Guid("58CEC3B7-3B93-4D47-86EE-D6DADE9D444F"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj b/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj index 8612fa6e9..0f122ecc1 100644 --- a/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj +++ b/DiscImageChef.Partitions/DiscImageChef.Partitions.csproj @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -39,7 +39,7 @@ <Compile Include="Atari.cs" /> <Compile Include="MBR.cs" /> <Compile Include="NeXT.cs" /> - <Compile Include="PartPlugin.cs" /> + <Compile Include="PartitionPlugin.cs" /> <Compile Include="RDB.cs" /> <Compile Include="Sun.cs" /> <Compile Include="GPT.cs" /> diff --git a/DiscImageChef.Partitions/DragonFlyBSD.cs b/DiscImageChef.Partitions/DragonFlyBSD.cs index 5e329ca2a..5e2135855 100644 --- a/DiscImageChef.Partitions/DragonFlyBSD.cs +++ b/DiscImageChef.Partitions/DragonFlyBSD.cs @@ -34,18 +34,18 @@ using System; using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class DragonFlyBSD : PartPlugin + public class DragonFlyBSD : PartitionPlugin { const uint DISK_MAGIC64 = 0xC4464C59; public DragonFlyBSD() { Name = "DragonFly BSD 64-bit disklabel"; - PluginUUID = new Guid("D49E41A6-D952-4760-9D94-03DAE2450C5F"); + PluginUuid = new Guid("D49E41A6-D952-4760-9D94-03DAE2450C5F"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/GPT.cs b/DiscImageChef.Partitions/GPT.cs index 06a419549..af7f831f9 100644 --- a/DiscImageChef.Partitions/GPT.cs +++ b/DiscImageChef.Partitions/GPT.cs @@ -35,9 +35,9 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.Console; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class GuidPartitionTable : PartPlugin + public class GuidPartitionTable : PartitionPlugin { const ulong GptMagic = 0x5452415020494645; const uint GptRevision1 = 0x00010000; @@ -45,10 +45,10 @@ namespace DiscImageChef.PartPlugins public GuidPartitionTable() { Name = "GUID Partition Table"; - PluginUUID = new Guid("CBC9D281-C1D0-44E8-9038-4D66FD2678AB"); + PluginUuid = new Guid("CBC9D281-C1D0-44E8-9038-4D66FD2678AB"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { partitions = new List<CommonTypes.Partition>(); @@ -65,7 +65,7 @@ namespace DiscImageChef.PartPlugins if(signature != GptMagic) { - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { hdrBytes = imagePlugin.ReadSector(sectorOffset); signature = BitConverter.ToUInt64(hdrBytes, 512); diff --git a/DiscImageChef.Partitions/Human68k.cs b/DiscImageChef.Partitions/Human68k.cs index 70f2d4877..a78acd893 100644 --- a/DiscImageChef.Partitions/Human68k.cs +++ b/DiscImageChef.Partitions/Human68k.cs @@ -36,18 +36,18 @@ using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class Human68K : PartPlugin + public class Human68K : PartitionPlugin { const uint X68kMagic = 0x5836384B; public Human68K() { Name = "Human 68k partitions"; - PluginUUID = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + PluginUuid = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/MBR.cs b/DiscImageChef.Partitions/MBR.cs index aea4b6ac1..3e30b7bc4 100644 --- a/DiscImageChef.Partitions/MBR.cs +++ b/DiscImageChef.Partitions/MBR.cs @@ -35,22 +35,22 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { // TODO: Support AAP extensions - public class MBR : PartPlugin + public class MBR : PartitionPlugin { const ulong GptMagic = 0x5452415020494645; public MBR() { Name = "Master Boot Record"; - PluginUUID = new Guid("5E8A34E8-4F1A-59E6-4BF7-7EA647063A76"); + PluginUuid = new Guid("5E8A34E8-4F1A-59E6-4BF7-7EA647063A76"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { ulong counter = 0; @@ -63,7 +63,7 @@ namespace DiscImageChef.PartPlugins // Divider of sector size in MBR between real sector size ulong divider = 1; - if(imagePlugin.ImageInfo.xmlMediaType == ImagePlugins.XmlMediaType.OpticalDisc) + if(imagePlugin.ImageInfo.XmlMediaType == DiscImages.XmlMediaType.OpticalDisc) { sectorSize = 512; divider = 4; @@ -90,7 +90,7 @@ namespace DiscImageChef.PartPlugins typeof(DiskManagerMasterBootRecord)); handle.Free(); - DicConsole.DebugWriteLine("MBR plugin", "xmlmedia = {0}", imagePlugin.ImageInfo.xmlMediaType); + DicConsole.DebugWriteLine("MBR plugin", "xmlmedia = {0}", imagePlugin.ImageInfo.XmlMediaType); DicConsole.DebugWriteLine("MBR plugin", "mbr.magic = {0:X4}", mbr.magic); if(mbr.magic != MBR_Magic) return false; // Not MBR @@ -103,7 +103,7 @@ namespace DiscImageChef.PartPlugins if(signature == GptMagic) return false; - if(signature != GptMagic && imagePlugin.ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) + if(signature != GptMagic && imagePlugin.ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) { hdrBytes = imagePlugin.ReadSector(sectorOffset); signature = BitConverter.ToUInt64(hdrBytes, 512); @@ -150,10 +150,10 @@ namespace DiscImageChef.PartPlugins if(entry.lba_start == 0 && entry.lba_sectors == 0 && valid) { lba_start = Helpers.CHS.ToLBA(start_cylinder, entry.start_head, start_sector, - imagePlugin.ImageInfo.heads, imagePlugin.ImageInfo.sectorsPerTrack); + imagePlugin.ImageInfo.Heads, imagePlugin.ImageInfo.SectorsPerTrack); lba_sectors = Helpers.CHS.ToLBA(end_cylinder, entry.end_head, entry.end_sector, - imagePlugin.ImageInfo.heads, - imagePlugin.ImageInfo.sectorsPerTrack) - lba_start; + imagePlugin.ImageInfo.Heads, + imagePlugin.ImageInfo.SectorsPerTrack) - lba_start; } // For optical media @@ -198,7 +198,7 @@ namespace DiscImageChef.PartPlugins if(valid && !minix) { CommonTypes.Partition part = new CommonTypes.Partition(); - if((lba_start > 0 || imagePlugin.ImageInfo.xmlMediaType == XmlMediaType.OpticalDisc) && + if((lba_start > 0 || imagePlugin.ImageInfo.XmlMediaType == XmlMediaType.OpticalDisc) && lba_sectors > 0) { part.Start = lba_start + sectorOffset; @@ -278,12 +278,12 @@ namespace DiscImageChef.PartPlugins if(ebr_entry.lba_start == 0 && ebr_entry.lba_sectors == 0 && ext_valid) { ext_start = Helpers.CHS.ToLBA(start_cylinder, ebr_entry.start_head, start_sector, - imagePlugin.ImageInfo.heads, - imagePlugin.ImageInfo.sectorsPerTrack); + imagePlugin.ImageInfo.Heads, + imagePlugin.ImageInfo.SectorsPerTrack); ext_sectors = Helpers.CHS.ToLBA(end_cylinder, ebr_entry.end_head, ebr_entry.end_sector, - imagePlugin.ImageInfo.heads, - imagePlugin.ImageInfo.sectorsPerTrack) - ext_start; + imagePlugin.ImageInfo.Heads, + imagePlugin.ImageInfo.SectorsPerTrack) - ext_start; } ext_minix |= (ebr_entry.type == 0x81 || ebr_entry.type == 0x80); @@ -402,10 +402,10 @@ namespace DiscImageChef.PartPlugins if(mnx_entry.lba_start == 0 && mnx_entry.lba_sectors == 0 && mnx_valid) { mnx_start = Helpers.CHS.ToLBA(start_cylinder, mnx_entry.start_head, start_sector, - imagePlugin.ImageInfo.heads, imagePlugin.ImageInfo.sectorsPerTrack); + imagePlugin.ImageInfo.Heads, imagePlugin.ImageInfo.SectorsPerTrack); mnx_sectors = Helpers.CHS.ToLBA(end_cylinder, mnx_entry.end_head, mnx_entry.end_sector, - imagePlugin.ImageInfo.heads, - imagePlugin.ImageInfo.sectorsPerTrack) - mnx_start; + imagePlugin.ImageInfo.Heads, + imagePlugin.ImageInfo.SectorsPerTrack) - mnx_start; } // For optical media diff --git a/DiscImageChef.Partitions/NeXT.cs b/DiscImageChef.Partitions/NeXT.cs index 20940d0c0..98ea1f2d4 100644 --- a/DiscImageChef.Partitions/NeXT.cs +++ b/DiscImageChef.Partitions/NeXT.cs @@ -37,9 +37,9 @@ using System.Text; using DiscImageChef.Console; // Information learnt from XNU source and testing against real disks -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class NeXTDisklabel : PartPlugin + public class NeXTDisklabel : PartitionPlugin { const uint NEXT_MAGIC1 = 0x4E655854; // "NeXT" @@ -55,10 +55,10 @@ namespace DiscImageChef.PartPlugins public NeXTDisklabel() { Name = "NeXT Disklabel"; - PluginUUID = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + PluginUuid = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { bool magic_found = false; @@ -92,8 +92,8 @@ namespace DiscImageChef.PartPlugins if(!magic_found) return false; - uint sectors_to_read = 7680 / imagePlugin.ImageInfo.sectorSize; - if(7680 % imagePlugin.ImageInfo.sectorSize > 0) sectors_to_read++; + uint sectors_to_read = 7680 / imagePlugin.ImageInfo.SectorSize; + if(7680 % imagePlugin.ImageInfo.SectorSize > 0) sectors_to_read++; label_sector = imagePlugin.ReadSectors(label_position, sectors_to_read); @@ -185,10 +185,10 @@ namespace DiscImageChef.PartPlugins Scheme = Name }; - if(part.Start + part.Length > imagePlugin.ImageInfo.sectors) + if(part.Start + part.Length > imagePlugin.ImageInfo.Sectors) { DicConsole.DebugWriteLine("NeXT Plugin", "Partition bigger than device, reducing..."); - part.Length = imagePlugin.ImageInfo.sectors - part.Start; + part.Length = imagePlugin.ImageInfo.Sectors - part.Start; part.Size = part.Length * sector_size; DicConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_size = {1}", i, part.Length); diff --git a/DiscImageChef.Partitions/PC98.cs b/DiscImageChef.Partitions/PC98.cs index 19cc49f9e..9707b0e0c 100644 --- a/DiscImageChef.Partitions/PC98.cs +++ b/DiscImageChef.Partitions/PC98.cs @@ -36,18 +36,18 @@ using System.Runtime.InteropServices; using System.Text; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class PC98 : PartPlugin + public class PC98 : PartitionPlugin { const ushort IntelMagic = 0xAA55; public PC98() { Name = "NEC PC-9800 partition table"; - PluginUUID = new Guid("27333401-C7C2-447D-961C-22AD0641A09A\n"); + PluginUuid = new Guid("27333401-C7C2-447D-961C-22AD0641A09A\n"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) @@ -87,16 +87,16 @@ namespace DiscImageChef.PartPlugins StringHandlers.CToString(entry.dp_name, Encoding.GetEncoding(932))); if(entry.dp_scyl != entry.dp_ecyl && entry.dp_ecyl > 0 && - entry.dp_scyl <= imagePlugin.ImageInfo.cylinders && - entry.dp_ecyl <= imagePlugin.ImageInfo.cylinders && entry.dp_shd <= imagePlugin.ImageInfo.heads && - entry.dp_ehd <= imagePlugin.ImageInfo.heads && - entry.dp_ssect <= imagePlugin.ImageInfo.sectorsPerTrack && - entry.dp_esect <= imagePlugin.ImageInfo.sectorsPerTrack) + entry.dp_scyl <= imagePlugin.ImageInfo.Cylinders && + entry.dp_ecyl <= imagePlugin.ImageInfo.Cylinders && entry.dp_shd <= imagePlugin.ImageInfo.Heads && + entry.dp_ehd <= imagePlugin.ImageInfo.Heads && + entry.dp_ssect <= imagePlugin.ImageInfo.SectorsPerTrack && + entry.dp_esect <= imagePlugin.ImageInfo.SectorsPerTrack) { Partition part = new Partition { Start = Helpers.CHS.ToLBA(entry.dp_scyl, entry.dp_shd, (uint)(entry.dp_ssect + 1), - imagePlugin.ImageInfo.heads, imagePlugin.ImageInfo.sectorsPerTrack), + imagePlugin.ImageInfo.Heads, imagePlugin.ImageInfo.SectorsPerTrack), Type = DecodePC98Sid(entry.dp_sid), Name = StringHandlers.CToString(entry.dp_name, Encoding.GetEncoding(932)).Trim(), Sequence = counter, @@ -104,8 +104,8 @@ namespace DiscImageChef.PartPlugins }; part.Offset = part.Start * imagePlugin.GetSectorSize(); part.Length = Helpers.CHS.ToLBA(entry.dp_ecyl, entry.dp_ehd, (uint)(entry.dp_esect + 1), - imagePlugin.ImageInfo.heads, - imagePlugin.ImageInfo.sectorsPerTrack) - part.Start; + imagePlugin.ImageInfo.Heads, + imagePlugin.ImageInfo.SectorsPerTrack) - part.Start; part.Size = part.Length * imagePlugin.GetSectorSize(); DicConsole.DebugWriteLine("PC98 plugin", "part.Start = {0}", part.Start); @@ -117,7 +117,7 @@ namespace DiscImageChef.PartPlugins DicConsole.DebugWriteLine("PC98 plugin", "part.Size = {0}", part.Size); if(((entry.dp_mid & 0x20) == 0x20 || (entry.dp_mid & 0x44) == 0x44) && - part.Start < imagePlugin.ImageInfo.sectors && part.End <= imagePlugin.ImageInfo.sectors) + part.Start < imagePlugin.ImageInfo.Sectors && part.End <= imagePlugin.ImageInfo.Sectors) { partitions.Add(part); counter++; diff --git a/DiscImageChef.Partitions/PartPlugin.cs b/DiscImageChef.Partitions/PartitionPlugin.cs similarity index 89% rename from DiscImageChef.Partitions/PartPlugin.cs rename to DiscImageChef.Partitions/PartitionPlugin.cs index 07299f411..8712bee55 100644 --- a/DiscImageChef.Partitions/PartPlugin.cs +++ b/DiscImageChef.Partitions/PartitionPlugin.cs @@ -2,7 +2,7 @@ // The Disc Image Chef // ---------------------------------------------------------------------------- // -// Filename : PartPlugin.cs +// Filename : PartitionPlugin.cs // Author(s) : Natalia Portillo <claunia@claunia.com> // // Component : Partitioning scheme plugins. @@ -34,19 +34,19 @@ using System; using System.Collections.Generic; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { /// <summary> /// Abstract class to implement partitioning schemes interpreting plugins. /// </summary> - public abstract class PartPlugin + public abstract class PartitionPlugin { /// <summary>Plugin name.</summary> public string Name; /// <summary>Plugin UUID.</summary> - public Guid PluginUUID; + public Guid PluginUuid; - protected PartPlugin() { } + protected PartitionPlugin() { } /// <summary> /// Interprets a partitioning scheme. @@ -55,7 +55,7 @@ namespace DiscImageChef.PartPlugins /// <param name="imagePlugin">Disk image.</param> /// <param name="partitions">Returns list of partitions.</param> /// <param name="sectorOffset">At which sector to start searching for the partition scheme.</param> - public abstract bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public abstract bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset); } } \ No newline at end of file diff --git a/DiscImageChef.Partitions/Plan9.cs b/DiscImageChef.Partitions/Plan9.cs index 8374c90f4..135e2fb33 100644 --- a/DiscImageChef.Partitions/Plan9.cs +++ b/DiscImageChef.Partitions/Plan9.cs @@ -34,22 +34,22 @@ using System; using System.Collections.Generic; using DiscImageChef.CommonTypes; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { // This is the most stupid or the most intelligent partition scheme ever done, pick or take // At sector 1 from offset, text resides (yes, TEXT) in following format: // "part type start end\n" // One line per partition, start and end relative to offset // e.g.: "part nvram 10110 10112\npart fossil 10112 3661056\n" - public class Plan9 : PartPlugin + public class Plan9 : PartitionPlugin { public Plan9() { Name = "Plan9 partition table"; - PluginUUID = new Guid("F0BF4FFC-056E-4E7C-8B65-4EAEE250ADD9"); + PluginUuid = new Guid("F0BF4FFC-056E-4E7C-8B65-4EAEE250ADD9"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, out List<Partition> partitions, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) { partitions = new List<Partition>(); diff --git a/DiscImageChef.Partitions/RDB.cs b/DiscImageChef.Partitions/RDB.cs index d6532b35e..153a2955a 100644 --- a/DiscImageChef.Partitions/RDB.cs +++ b/DiscImageChef.Partitions/RDB.cs @@ -35,246 +35,246 @@ using System.Collections.Generic; using System.Text; using DiscImageChef.Console; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class AmigaRigidDiskBlock : PartPlugin + public class AmigaRigidDiskBlock : PartitionPlugin { /// <summary> /// RDB magic number "RDSK" /// </summary> - const uint RigidDiskBlockMagic = 0x5244534B; + const uint RIGID_DISK_BLOCK_MAGIC = 0x5244534B; /// <summary> /// Bad block list magic number "BADB" /// </summary> - const uint BadBlockListMagic = 0x42414442; + const uint BAD_BLOCK_LIST_MAGIC = 0x42414442; /// <summary> /// Partition entry magic number "PART" /// </summary> - const uint PartitionBlockMagic = 0x50415254; + const uint PARTITION_BLOCK_MAGIC = 0x50415254; /// <summary> /// Filesystem header magic number "FSHD" /// </summary> - const uint FilesystemHeaderMagic = 0x46534844; + const uint FILESYSTEM_HEADER_MAGIC = 0x46534844; /// <summary> /// LoadSeg block magic number "LSEG" /// </summary> - const uint LoadSegMagic = 0x4C534547; + const uint LOAD_SEG_MAGIC = 0x4C534547; /// <summary> /// Type ID for Amiga Original File System, "DOS\0" /// </summary> - const uint TypeIDOFS = 0x444F5300; + const uint TYPEID_OFS = 0x444F5300; /// <summary> /// Type ID for Amiga Fast File System, "DOS\1" /// </summary> - const uint TypeIDFFS = 0x444F5301; + const uint TYPEID_FFS = 0x444F5301; /// <summary> /// Type ID for Amiga Original File System with international characters, "DOS\2" /// </summary> - const uint TypeIDOFSi = 0x444F5302; + const uint TYPEID_OFS_INTL = 0x444F5302; /// <summary> /// Type ID for Amiga Fast File System with international characters, "DOS\3" /// </summary> - const uint TypeIDFFSi = 0x444F5303; + const uint TYPEID_FFS_INTL = 0x444F5303; /// <summary> /// Type ID for Amiga Original File System with directory cache, "DOS\4" /// </summary> - const uint TypeIDOFSc = 0x444F5304; + const uint TYPEID_OFS_CACHE = 0x444F5304; /// <summary> /// Type ID for Amiga Fast File System with directory cache, "DOS\5" /// </summary> - const uint TypeIDFFSc = 0x444F5305; + const uint TYPEID_FFS_CACHE = 0x444F5305; /// <summary> /// Type ID for Amiga Original File System with long filenames, "DOS\6" /// </summary> - const uint TypeIDOFS2 = 0x444F5306; + const uint TYPEID_OFS2 = 0x444F5306; /// <summary> /// Type ID for Amiga Fast File System with long filenames, "DOS\7" /// </summary> - const uint TypeIDFFS2 = 0x444F5307; + const uint TYPEID_FFS2 = 0x444F5307; /// <summary> /// Type ID for Amiga UNIX boot filesystem /// </summary> - const uint TypeIDAMIXBoot = 0x554E4900; + const uint TYPEID_AMIX_BOOT = 0x554E4900; /// <summary> /// Type ID for Amiga UNIX System V filesystem /// </summary> - const uint TypeIDAMIXSysV = 0x554E4901; + const uint TypeID_AMIXSysV = 0x554E4901; /// <summary> /// Type ID for Amiga UNIX BSD filesystem /// </summary> - const uint TypeIDAMIXFFS = 0x554E4902; + const uint TYPEID_AMIXFFS = 0x554E4902; /// <summary> /// Type ID for Amiga UNIX Reserved partition (swap) /// </summary> - const uint TypeIDAMIXReserved = 0x72657376; + const uint TYPEID_AMIX_RESERVED = 0x72657376; /// <summary> /// Type ID for ProfessionalFileSystem, "PFS\1" /// </summary> - const uint TypeIDPFS = 0x50465301; + const uint TYPEID_PFS = 0x50465301; /// <summary> /// Type ID for ProfessionalFileSystem, "PFS\2" /// </summary> - const uint TypeIDPFS2 = 0x50465302; + const uint TYPEID_PFS2 = 0x50465302; /// <summary> /// Type ID for ProfessionalFileSystem, "muAF" /// </summary> - const uint TypeIDPFSm = 0x6D754146; + const uint TYPEID_PFS_MUSER = 0x6D754146; /// <summary> /// Type ID for ProfessionalFileSystem, "AFS\1" /// </summary> - const uint TypeIDAFS = 0x41465301; + const uint TYPEID_AFS = 0x41465301; /// <summary> /// Type ID for SmartFileSystem v1, "SFS\0" /// </summary> - const uint TypeIDSFS = 0x53465300; + const uint TYPEID_SFS = 0x53465300; /// <summary> /// Type ID for SmartFileSystem v2, "SFS\2" /// </summary> - const uint TypeIDSFS2 = 0x53465302; + const uint TYPEID_SFS2 = 0x53465302; /// <summary> /// Type ID for JXFS, "JXF\4" /// </summary> - const uint TypeIDJXFS = 0x4A584604; + const uint TYPEID_JXFS = 0x4A584604; /// <summary> /// Type ID for FAT, as set by CrossDOS, "MSD\0" /// </summary> - const uint TypeIDCrossDOS = 0x4D534400; + const uint TYPEID_CROSS_DOS = 0x4D534400; /// <summary> /// Type ID for HFS, as set by CrossMac, "MAC\0" /// </summary> - const uint TypeIDCrossMac = 0x4D414300; + const uint TYPEID_CROSS_MAC = 0x4D414300; /// <summary> /// Type ID for 4.2UFS, for BFFS, "BFFS" /// </summary> - const uint TypeIDBFFS = 0x42464653; + const uint TYPEID_BFFS = 0x42464653; /// <summary> /// Type ID for Amiga Original File System with multi-user patches, "muF\0" /// </summary> - const uint TypeIDmuOFS = 0x6D754600; + const uint TYPEID_OFS_MUSER = 0x6D754600; /// <summary> /// Type ID for Amiga Fast File System with multi-user patches, "muF\1" /// </summary> - const uint TypeIDmuFFS = 0x6D754601; + const uint TYPEID_FFS_MUSER = 0x6D754601; /// <summary> /// Type ID for Amiga Original File System with international characters and multi-user patches, "muF\2" /// </summary> - const uint TypeIDmuOFSi = 0x6D754602; + const uint TYPEID_OFS_INTL_MUSER = 0x6D754602; /// <summary> /// Type ID for Amiga Fast File System with international characters and multi-user patches, "muF\3" /// </summary> - const uint TypeIDmuFFSi = 0x6D754603; + const uint TYPEID_FFS_INTL_MUSER = 0x6D754603; /// <summary> /// Type ID for Amiga Original File System with directory cache and multi-user patches, "muF\4" /// </summary> - const uint TypeIDmuOFSc = 0x6D754604; + const uint TYPEID_OFS_CACHE_MUSER = 0x6D754604; /// <summary> /// Type ID for Amiga Fast File System with directory cache and multi-user patches, "muF\5" /// </summary> - const uint TypeIDmuFFSc = 0x6D754605; + const uint TYPEID_FFS_CACHE_MUSER = 0x6D754605; /// <summary> /// Type ID for BSD unused, "BSD\0" /// </summary> - const uint TypeIDOldBSDUnused = 0x42534400; + const uint TYPEID_OLD_BSD_UNUSED = 0x42534400; /// <summary> /// Type ID for BSD swap, "BSD\1" /// </summary> - const uint TypeIDOldBSDSwap = 0x42534401; + const uint TYPEID_OLD_BSD_SWAP = 0x42534401; /// <summary> /// Type ID for BSD 4.2 FFS, "BSD\7" /// </summary> - const uint TypeIDOldBSD42FFS = 0x42534407; + const uint TYPEID_OLD_BSD42_FFS = 0x42534407; /// <summary> /// Type ID for BSD 4.4 LFS, "BSD\9" /// </summary> - const uint TypeIDOldBSD44LFS = 0x42534409; + const uint TYPEID_OLD_BSD44_LFS = 0x42534409; /// <summary> /// Type ID for NetBSD unused root partition, "NBR\0" /// </summary> - const uint TypeIDNetBSDRootUnused = 0x4E425200; + const uint TYPEID_NETBSD_ROOT_UNUSED = 0x4E425200; /// <summary> /// Type ID for NetBSD 4.2 FFS root partition, "NBR\7" /// </summary> - const uint TypeIDNetBSDRoot42FFS = 0x4E425207; + const uint TYPEID_NETBSD_ROOT_42FFS = 0x4E425207; /// <summary> /// Type ID for NetBSD 4.4 LFS root partition, "NBR\9" /// </summary> - const uint TypeIDNetBSDRoot44LFS = 0x4E425209; + const uint TYPEID_NETBSD_ROOT_44LFS = 0x4E425209; /// <summary> /// Type ID for NetBSD unused user partition, "NBR\0" /// </summary> - const uint TypeIDNetBSDUserUnused = 0x4E425500; + const uint TYPEID_NETBSD_USER_UNUSED = 0x4E425500; /// <summary> /// Type ID for NetBSD 4.2 FFS user partition, "NBR\7" /// </summary> - const uint TypeIDNetBSDUser42FFS = 0x4E425507; + const uint TYPEID_NETBSD_USER_42FFS = 0x4E425507; /// <summary> /// Type ID for NetBSD 4.4 LFS user partition, "NBR\9" /// </summary> - const uint TypeIDNetBSDUser44LFS = 0x4E425509; + const uint TYPEID_NETBSD_USER_44LFS = 0x4E425509; /// <summary> /// Type ID for NetBSD swap partition /// </summary> - const uint TypeIDNetBSDSwap = 0x4E425300; + const uint TYPEID_NETBSD_SWAP = 0x4E425300; /// <summary> /// Type ID for Linux filesystem partition, "LNX\0" /// </summary> - const uint TypeIDLinux = 0x4C4E5800; + const uint TYPEID_LINUX = 0x4C4E5800; /// <summary> /// Type ID for Linux swap partition, "SWP\0" /// </summary> - const uint TypeIDLinuxSwap = 0x53575000; + const uint TYPEID_LINUX_SWAP = 0x53575000; /// <summary> /// Type ID for RaidFrame partition, "RAID" /// </summary> - const uint TypeIDRaidFrame = 0x52414944; + const uint TYPEID_RAID_FRAME = 0x52414944; /// <summary> /// Type ID for RaidFrame partition, "RAI\0" /// </summary> - const uint TypeIDRaidFrame0 = 0x52414900; + const uint TYPEID_RAID_FRAME0 = 0x52414900; /// <summary> /// No disks to be configured after this one /// </summary> - const uint FlagsNoDisks = 0x00000001; + const uint FLAGS_NO_DISKS = 0x00000001; /// <summary> /// No LUNs to be configured after this one /// </summary> - const uint FlagsNoLUNs = 0x00000002; + const uint FLAGS_NO_LUNS = 0x00000002; /// <summary> /// No target IDs to be configured after this one /// </summary> - const uint FlagsNoTargets = 0x00000004; + const uint FLAGS_NO_TARGETS = 0x00000004; /// <summary> /// Don't try to perform reselection with this drive /// </summary> - const uint FlagsNoReselection = 0x00000008; + const uint FLAGS_NO_RESELECTION = 0x00000008; /// <summary> /// Disk identification is valid /// </summary> - const uint FlagsValidDiskID = 0x00000010; + const uint FLAGS_VALID_DISK_ID = 0x00000010; /// <summary> /// Controller identification is valid /// </summary> - const uint FlagsValidControllerID = 0x00000020; + const uint FLAGS_VALID_CONTROLLER_ID = 0x00000020; /// <summary> /// Drive supports synchronous SCSI mode /// </summary> - const uint FlagsSynchSCSI = 0x00000040; + const uint FLAGS_SYNCH_SCSI = 0x00000040; /// <summary> /// Partition is bootable /// </summary> - const uint FlagsBootable = 0x00000001; + const uint FLAGS_BOOTABLE = 0x00000001; /// <summary> /// Partition should not be mounted automatically /// </summary> - const uint FlagsNoAutomount = 0x00000002; + const uint FLAGS_NO_AUTOMOUNT = 0x00000002; public AmigaRigidDiskBlock() { Name = "Amiga Rigid Disk Block"; - PluginUUID = new Guid("8D72ED97-1854-4170-9CE4-6E8446FD9863"); + PluginUuid = new Guid("8D72ED97-1854-4170-9CE4-6E8446FD9863"); } /// <summary> @@ -286,139 +286,139 @@ namespace DiscImageChef.PartPlugins /// <summary> /// "RDSK" /// </summary> - public uint magic; + public uint Magic; /// <summary> /// Size in longs /// </summary> - public uint size; + public uint Size; /// <summary> /// Checksum /// </summary> - public int checksum; + public int Checksum; /// <summary> /// SCSI target ID, 7 for non-SCSI /// </summary> - public uint targetID; + public uint TargetId; /// <summary> /// Block size in bytes /// </summary> - public uint block_size; + public uint BlockSize; /// <summary> /// Flags /// </summary> - public uint flags; + public uint Flags; /// <summary> /// Pointer to first BadBlockList, 0xFFFFFFFF means last block in device /// </summary> - public uint badblock_ptr; + public uint BadblockPtr; /// <summary> /// Pointer to first PartitionEntry, 0xFFFFFFFF means last block in device /// </summary> - public uint partition_ptr; + public uint PartitionPtr; /// <summary> /// Pointer to first FileSystemHeader, 0xFFFFFFFF means last block in device /// </summary> - public uint fsheader_ptr; + public uint FsheaderPtr; /// <summary> /// Optional drive specific init code /// </summary> - public uint driveinitcode; + public uint Driveinitcode; /// <summary> /// Reserved, should be 0xFFFFFFFF /// </summary> - public uint reserved1; + public uint Reserved1; /// <summary> /// Reserved, should be 0xFFFFFFFF /// </summary> - public uint reserved2; + public uint Reserved2; /// <summary> /// Reserved, should be 0xFFFFFFFF /// </summary> - public uint reserved3; + public uint Reserved3; /// <summary> /// Reserved, should be 0xFFFFFFFF /// </summary> - public uint reserved4; + public uint Reserved4; /// <summary> /// Reserved, should be 0xFFFFFFFF /// </summary> - public uint reserved5; + public uint Reserved5; /// <summary> /// Reserved, should be 0xFFFFFFFF /// </summary> - public uint reserved6; + public uint Reserved6; /// <summary> /// Cylinders in drive /// </summary> - public uint cylinders; + public uint Cylinders; /// <summary> /// Sectors per track /// </summary> - public uint spt; + public uint Spt; /// <summary> /// Heads in drive /// </summary> - public uint heads; + public uint Heads; /// <summary> /// Drive interleave /// </summary> - public uint interleave; + public uint Interleave; /// <summary> /// Cylinder for parking heads /// </summary> - public uint parking; + public uint Parking; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved7; + public uint Reserved7; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved8; + public uint Reserved8; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved9; + public uint Reserved9; /// <summary> /// Starting cylinder for write precompensation /// </summary> - public uint writeprecomp; + public uint Writeprecomp; /// <summary> /// Starting cylinder for reduced write current /// </summary> - public uint reducedwrite; + public uint Reducedwrite; /// <summary> /// Drive step rate /// </summary> - public uint steprate; + public uint Steprate; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved10; + public uint Reserved10; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved11; + public uint Reserved11; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved12; + public uint Reserved12; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved13; + public uint Reserved13; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved14; + public uint Reserved14; /// <summary> /// Low block of RDB reserved blocks /// </summary> - public uint RDBBlockLow; + public uint RdbBlockLow; /// <summary> /// High block of RDB reserved blocks /// </summary> - public uint RDBBlockHigh; + public uint RdbBlockHigh; /// <summary> /// Low cylinder for partitionable area /// </summary> @@ -438,75 +438,75 @@ namespace DiscImageChef.PartPlugins /// <summary> /// Highest block used by RDB /// </summary> - public uint HighRDSKBlock; + public uint HighRdskBlock; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved15; + public uint Reserved15; /// <summary> /// Disk vendor, 8 bytes /// </summary> - public string diskVendor; + public string DiskVendor; /// <summary> /// Disk product, 16 bytes /// </summary> - public string diskProduct; + public string DiskProduct; /// <summary> /// Disk revision, 4 bytes /// </summary> - public string diskRevision; + public string DiskRevision; /// <summary> /// Controller vendor, 8 bytes /// </summary> - public string controllerVendor; + public string ControllerVendor; /// <summary> /// Controller product, 16 bytes /// </summary> - public string controllerProduct; + public string ControllerProduct; /// <summary> /// Controller revision, 4 bytes /// </summary> - public string controllerRevision; + public string ControllerRevision; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved16; + public uint Reserved16; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved17; + public uint Reserved17; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved18; + public uint Reserved18; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved19; + public uint Reserved19; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved20; + public uint Reserved20; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved21; + public uint Reserved21; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved22; + public uint Reserved22; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved23; + public uint Reserved23; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved24; + public uint Reserved24; /// <summary> /// Reserved, should be zero /// </summary> - public uint reserved25; + public uint Reserved25; } /// <summary> @@ -517,11 +517,11 @@ namespace DiscImageChef.PartPlugins /// <summary> /// Bad block pointer /// </summary> - public uint badBlock; + public uint BadBlock; /// <summary> /// Replacement block pointer /// </summary> - public uint goodBlock; + public uint GoodBlock; } /// <summary> @@ -532,94 +532,94 @@ namespace DiscImageChef.PartPlugins /// <summary> /// "BADB" /// </summary> - public uint magic; + public uint Magic; /// <summary> /// Size in longs /// </summary> - public uint size; + public uint Size; /// <summary> /// Checksum /// </summary> - public int checksum; + public int Checksum; /// <summary> /// SCSI target ID, 7 for non-SCSI /// </summary> - public uint targetID; + public uint TargetId; /// <summary> /// Pointer for next BadBlockList /// </summary> - public uint next_ptr; + public uint NextPtr; /// <summary> /// Reserved /// </summary> - public uint reserved; + public uint Reserved; /// <summary> /// Bad block entries, up to block filling, 8 bytes each /// </summary> - public BadBlockEntry[] blockPairs; + public BadBlockEntry[] BlockPairs; } /// <summary> /// DOSEnvVec, used by AmigaDOS /// </summary> - struct DOSEnvironmentVector + struct DosEnvironmentVector { /// <summary> /// Size in longs, should be 16, minimum 11 /// </summary> - public uint size; + public uint Size; /// <summary> /// Block size in longs /// </summary> - public uint block_size; + public uint BlockSize; /// <summary> /// Unknown, 0 /// </summary> - public uint sec_org; + public uint SecOrg; /// <summary> /// Heads in drive /// </summary> - public uint surfaces; + public uint Surfaces; /// <summary> /// Sectors per block /// </summary> - public uint spb; + public uint Spb; /// <summary> /// Blocks per track /// </summary> - public uint bpt; + public uint Bpt; /// <summary> /// DOS reserved blocks at start of partition /// </summary> - public uint reservedblocks; + public uint Reservedblocks; /// <summary> /// DOS reserved blocks at end of partition /// </summary> - public uint prealloc; + public uint Prealloc; /// <summary> /// Interleave /// </summary> - public uint interleave; + public uint Interleave; /// <summary> /// First cylinder of a partition, inclusive /// </summary> - public uint lowCylinder; + public uint LowCylinder; /// <summary> /// Last cylinder of a partition, inclusive /// </summary> - public uint highCylinder; + public uint HighCylinder; /// <summary> /// Buffers, usually 30 /// </summary> - public uint numBuffer; + public uint NumBuffer; /// <summary> /// Type of memory to allocate for buffers /// </summary> - public uint bufMemType; + public uint BufMemType; /// <summary> /// Maximum transfer, usually 0x7FFFFFFF /// </summary> - public uint maxTransfer; + public uint MaxTransfer; /// <summary> /// Address mask to block out certain memory, usually 0xFFFFFFFE /// </summary> @@ -627,23 +627,23 @@ namespace DiscImageChef.PartPlugins /// <summary> /// Boot priority /// </summary> - public uint bootPriority; + public uint BootPriority; /// <summary> /// Partition type, and filesystem driver identification for AmigaDOS /// </summary> - public uint dosType; + public uint DosType; /// <summary> /// Default baud rate for SER and AUX handlers /// </summary> - public uint baud; + public uint Baud; /// <summary> /// Flow control values for SER and AUX handlers /// </summary> - public uint control; + public uint Control; /// <summary> /// Since Kickstart 2, how many boot blocks are to be loaded /// </summary> - public uint bootBlocks; + public uint BootBlocks; } struct PartitionEntry @@ -651,111 +651,111 @@ namespace DiscImageChef.PartPlugins /// <summary> /// "PART" /// </summary> - public uint magic; + public uint Magic; /// <summary> /// Size in longs /// </summary> - public uint size; + public uint Size; /// <summary> /// Checksum /// </summary> - public int checksum; + public int Checksum; /// <summary> /// SCSI target ID, 7 for non-SCSI /// </summary> - public uint targetID; + public uint TargetId; /// <summary> /// Pointer to next PartitionEntry /// </summary> - public uint next_ptr; + public uint NextPtr; /// <summary> /// Partition flags /// </summary> - public uint flags; + public uint Flags; /// <summary> /// Reserved /// </summary> - public uint reserved1; + public uint Reserved1; /// <summary> /// Reserved /// </summary> - public uint reserved2; + public uint Reserved2; /// <summary> /// Preferred flags for OpenDevice() /// </summary> - public uint devFlags; + public uint DevFlags; /// <summary> /// Length of drive name /// </summary> - public uint driveNameLen; + public uint DriveNameLen; /// <summary> /// Drive name, 31 bytes /// </summary> - public string driveName; + public string DriveName; /// <summary> /// Reserved /// </summary> - public uint reserved3; + public uint Reserved3; /// <summary> /// Reserved /// </summary> - public uint reserved4; + public uint Reserved4; /// <summary> /// Reserved /// </summary> - public uint reserved5; + public uint Reserved5; /// <summary> /// Reserved /// </summary> - public uint reserved6; + public uint Reserved6; /// <summary> /// Reserved /// </summary> - public uint reserved7; + public uint Reserved7; /// <summary> /// Reserved /// </summary> - public uint reserved8; + public uint Reserved8; /// <summary> /// Reserved /// </summary> - public uint reserved9; + public uint Reserved9; /// <summary> /// Reserved /// </summary> - public uint reserved10; + public uint Reserved10; /// <summary> /// Reserved /// </summary> - public uint reserved11; + public uint Reserved11; /// <summary> /// Reserved /// </summary> - public uint reserved12; + public uint Reserved12; /// <summary> /// Reserved /// </summary> - public uint reserved13; + public uint Reserved13; /// <summary> /// Reserved /// </summary> - public uint reserved14; + public uint Reserved14; /// <summary> /// Reserved /// </summary> - public uint reserved15; + public uint Reserved15; /// <summary> /// Reserved /// </summary> - public uint reserved16; + public uint Reserved16; /// <summary> /// Reserved /// </summary> - public uint reserved17; + public uint Reserved17; /// <summary> /// DOSEnvVec, more information about partition /// </summary> - public DOSEnvironmentVector dosEnvVec; + public DosEnvironmentVector DosEnvVec; } /// <summary> @@ -766,39 +766,39 @@ namespace DiscImageChef.PartPlugins /// <summary> /// Device node type, =0 /// </summary> - public uint type; + public uint Type; /// <summary> /// DOS task field, =0 /// </summary> - public uint task; + public uint Task; /// <summary> /// Unused, =0 /// </summary> - public uint locked; + public uint Locked; /// <summary> /// Filename handler to LoadSegment, =0 /// </summary> - public uint handler; + public uint Handler; /// <summary> /// Stack size when starting task, =0 /// </summary> - public uint stackSize; + public uint StackSize; /// <summary> /// Task priority, =0 /// </summary> - public uint priority; + public uint Priority; /// <summary> /// Startup message, =0 /// </summary> - public uint startup; + public uint Startup; /// <summary> /// Pointer to first LoadSegment block /// </summary> - public uint seglist_ptr; + public uint SeglistPtr; /// <summary> /// BCPL globabl vector when starting task, =0xFFFFFFFF /// </summary> - public uint global_vec; + public uint GlobalVec; } /// <summary> @@ -809,53 +809,53 @@ namespace DiscImageChef.PartPlugins /// <summary> /// "FSHD" /// </summary> - public uint magic; + public uint Magic; /// <summary> /// Size in longs, 64 /// </summary> - public uint size; + public uint Size; /// <summary> /// Checksum /// </summary> - public int checksum; + public int Checksum; /// <summary> /// SCSI target ID, 7 for non-SCSI /// </summary> - public uint targetID; + public uint TargetId; /// <summary> /// Pointer to next FileSystemHeader block /// </summary> - public uint next_ptr; + public uint NextPtr; /// <summary> /// Flags, unknown /// </summary> - public uint flags; + public uint Flags; /// <summary> /// Reserved /// </summary> - public uint reserved1; + public uint Reserved1; /// <summary> /// Reserved /// </summary> - public uint reserved2; + public uint Reserved2; /// <summary> /// Partition type, and filesystem driver identification for AmigaDOS /// </summary> - public uint dosType; + public uint DosType; /// <summary> /// Filesystem version /// Mask 0xFFFF0000, >>16, major version /// Mask 0x0000FFFF, minor version /// </summary> - public uint version; + public uint Version; /// <summary> /// Bits for DeviceNode fields that should be substituted into a standard device node /// </summary> - public uint patchFlags; + public uint PatchFlags; /// <summary> /// Device node /// </summary> - public DeviceNode dnode; + public DeviceNode Dnode; } /// <summary> @@ -866,204 +866,204 @@ namespace DiscImageChef.PartPlugins /// <summary> /// "LSEG" /// </summary> - public uint magic; + public uint Magic; /// <summary> /// Size in longs /// </summary> - public uint size; + public uint Size; /// <summary> /// Checksum /// </summary> - public int checksum; + public int Checksum; /// <summary> /// SCSI target ID, 7 for non-SCSI /// </summary> - public uint targetID; + public uint TargetId; /// <summary> /// Pointer to next LoadSegment /// </summary> - public uint next_ptr; + public uint NextPtr; /// <summary> /// Executable code, with relocation hunks, til end of sector /// </summary> - public byte[] loadData; + public byte[] LoadData; } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { partitions = new List<CommonTypes.Partition>(); BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian; - ulong RDBBlock = 0; - bool foundRDB = false; + ulong rdbBlock = 0; + bool foundRdb = false; - while(RDBBlock < 16 && !foundRDB) + while(rdbBlock < 16 && !foundRdb) { - if(imagePlugin.GetSectors() <= RDBBlock) return false; + if(imagePlugin.GetSectors() <= rdbBlock) return false; - if(RDBBlock + sectorOffset >= imagePlugin.GetSectors()) break; + if(rdbBlock + sectorOffset >= imagePlugin.GetSectors()) break; - byte[] tmpSector = imagePlugin.ReadSector(RDBBlock + sectorOffset); + byte[] tmpSector = imagePlugin.ReadSector(rdbBlock + sectorOffset); uint magic = BigEndianBitConverter.ToUInt32(tmpSector, 0); - DicConsole.DebugWriteLine("Amiga RDB plugin", "Possible magic at block {0} is 0x{1:X8}", RDBBlock, + DicConsole.DebugWriteLine("Amiga RDB plugin", "Possible magic at block {0} is 0x{1:X8}", rdbBlock, magic); - if(magic == RigidDiskBlockMagic) + if(magic == RIGID_DISK_BLOCK_MAGIC) { - DicConsole.DebugWriteLine("Amiga RDB plugin", "Found RDB magic at block {0}", RDBBlock); + DicConsole.DebugWriteLine("Amiga RDB plugin", "Found RDB magic at block {0}", rdbBlock); - foundRDB = true; + foundRdb = true; break; } - RDBBlock++; + rdbBlock++; } - if(!foundRDB) return false; + if(!foundRdb) return false; - RDBBlock += sectorOffset; + rdbBlock += sectorOffset; byte[] sector; byte[] tmpString; - RigidDiskBlock RDB = new RigidDiskBlock(); + RigidDiskBlock rdb = new RigidDiskBlock(); - sector = imagePlugin.ReadSector(RDBBlock); + sector = imagePlugin.ReadSector(rdbBlock); - RDB.magic = BigEndianBitConverter.ToUInt32(sector, 0x00); - RDB.size = BigEndianBitConverter.ToUInt32(sector, 0x04); - RDB.checksum = BigEndianBitConverter.ToInt32(sector, 0x08); - RDB.targetID = BigEndianBitConverter.ToUInt32(sector, 0x0C); - RDB.block_size = BigEndianBitConverter.ToUInt32(sector, 0x10); - RDB.flags = BigEndianBitConverter.ToUInt32(sector, 0x04); - RDB.badblock_ptr = BigEndianBitConverter.ToUInt32(sector, 0x18); - RDB.partition_ptr = BigEndianBitConverter.ToUInt32(sector, 0x1C); - RDB.fsheader_ptr = BigEndianBitConverter.ToUInt32(sector, 0x20); - RDB.driveinitcode = BigEndianBitConverter.ToUInt32(sector, 0x24); - RDB.reserved1 = BigEndianBitConverter.ToUInt32(sector, 0x28); - RDB.reserved2 = BigEndianBitConverter.ToUInt32(sector, 0x2C); - RDB.reserved3 = BigEndianBitConverter.ToUInt32(sector, 0x30); - RDB.reserved4 = BigEndianBitConverter.ToUInt32(sector, 0x34); - RDB.reserved5 = BigEndianBitConverter.ToUInt32(sector, 0x38); - RDB.reserved6 = BigEndianBitConverter.ToUInt32(sector, 0x3C); - RDB.cylinders = BigEndianBitConverter.ToUInt32(sector, 0x40); - RDB.spt = BigEndianBitConverter.ToUInt32(sector, 0x44); - RDB.heads = BigEndianBitConverter.ToUInt32(sector, 0x48); - RDB.interleave = BigEndianBitConverter.ToUInt32(sector, 0x4C); - RDB.parking = BigEndianBitConverter.ToUInt32(sector, 0x50); - RDB.reserved7 = BigEndianBitConverter.ToUInt32(sector, 0x54); - RDB.reserved8 = BigEndianBitConverter.ToUInt32(sector, 0x58); - RDB.reserved9 = BigEndianBitConverter.ToUInt32(sector, 0x5C); - RDB.writeprecomp = BigEndianBitConverter.ToUInt32(sector, 0x60); - RDB.reducedwrite = BigEndianBitConverter.ToUInt32(sector, 0x64); - RDB.steprate = BigEndianBitConverter.ToUInt32(sector, 0x68); - RDB.reserved10 = BigEndianBitConverter.ToUInt32(sector, 0x6C); - RDB.reserved11 = BigEndianBitConverter.ToUInt32(sector, 0x70); - RDB.reserved12 = BigEndianBitConverter.ToUInt32(sector, 0x74); - RDB.reserved13 = BigEndianBitConverter.ToUInt32(sector, 0x78); - RDB.reserved14 = BigEndianBitConverter.ToUInt32(sector, 0x7C); - RDB.RDBBlockLow = BigEndianBitConverter.ToUInt32(sector, 0x80); - RDB.RDBBlockHigh = BigEndianBitConverter.ToUInt32(sector, 0x84); - RDB.LowCylinder = BigEndianBitConverter.ToUInt32(sector, 0x88); - RDB.HighCylinder = BigEndianBitConverter.ToUInt32(sector, 0x8C); - RDB.CylBlocks = BigEndianBitConverter.ToUInt32(sector, 0x90); - RDB.AutoParkSeconds = BigEndianBitConverter.ToUInt32(sector, 0x94); - RDB.HighCylinder = BigEndianBitConverter.ToUInt32(sector, 0x98); - RDB.reserved15 = BigEndianBitConverter.ToUInt32(sector, 0x9C); + rdb.Magic = BigEndianBitConverter.ToUInt32(sector, 0x00); + rdb.Size = BigEndianBitConverter.ToUInt32(sector, 0x04); + rdb.Checksum = BigEndianBitConverter.ToInt32(sector, 0x08); + rdb.TargetId = BigEndianBitConverter.ToUInt32(sector, 0x0C); + rdb.BlockSize = BigEndianBitConverter.ToUInt32(sector, 0x10); + rdb.Flags = BigEndianBitConverter.ToUInt32(sector, 0x04); + rdb.BadblockPtr = BigEndianBitConverter.ToUInt32(sector, 0x18); + rdb.PartitionPtr = BigEndianBitConverter.ToUInt32(sector, 0x1C); + rdb.FsheaderPtr = BigEndianBitConverter.ToUInt32(sector, 0x20); + rdb.Driveinitcode = BigEndianBitConverter.ToUInt32(sector, 0x24); + rdb.Reserved1 = BigEndianBitConverter.ToUInt32(sector, 0x28); + rdb.Reserved2 = BigEndianBitConverter.ToUInt32(sector, 0x2C); + rdb.Reserved3 = BigEndianBitConverter.ToUInt32(sector, 0x30); + rdb.Reserved4 = BigEndianBitConverter.ToUInt32(sector, 0x34); + rdb.Reserved5 = BigEndianBitConverter.ToUInt32(sector, 0x38); + rdb.Reserved6 = BigEndianBitConverter.ToUInt32(sector, 0x3C); + rdb.Cylinders = BigEndianBitConverter.ToUInt32(sector, 0x40); + rdb.Spt = BigEndianBitConverter.ToUInt32(sector, 0x44); + rdb.Heads = BigEndianBitConverter.ToUInt32(sector, 0x48); + rdb.Interleave = BigEndianBitConverter.ToUInt32(sector, 0x4C); + rdb.Parking = BigEndianBitConverter.ToUInt32(sector, 0x50); + rdb.Reserved7 = BigEndianBitConverter.ToUInt32(sector, 0x54); + rdb.Reserved8 = BigEndianBitConverter.ToUInt32(sector, 0x58); + rdb.Reserved9 = BigEndianBitConverter.ToUInt32(sector, 0x5C); + rdb.Writeprecomp = BigEndianBitConverter.ToUInt32(sector, 0x60); + rdb.Reducedwrite = BigEndianBitConverter.ToUInt32(sector, 0x64); + rdb.Steprate = BigEndianBitConverter.ToUInt32(sector, 0x68); + rdb.Reserved10 = BigEndianBitConverter.ToUInt32(sector, 0x6C); + rdb.Reserved11 = BigEndianBitConverter.ToUInt32(sector, 0x70); + rdb.Reserved12 = BigEndianBitConverter.ToUInt32(sector, 0x74); + rdb.Reserved13 = BigEndianBitConverter.ToUInt32(sector, 0x78); + rdb.Reserved14 = BigEndianBitConverter.ToUInt32(sector, 0x7C); + rdb.RdbBlockLow = BigEndianBitConverter.ToUInt32(sector, 0x80); + rdb.RdbBlockHigh = BigEndianBitConverter.ToUInt32(sector, 0x84); + rdb.LowCylinder = BigEndianBitConverter.ToUInt32(sector, 0x88); + rdb.HighCylinder = BigEndianBitConverter.ToUInt32(sector, 0x8C); + rdb.CylBlocks = BigEndianBitConverter.ToUInt32(sector, 0x90); + rdb.AutoParkSeconds = BigEndianBitConverter.ToUInt32(sector, 0x94); + rdb.HighCylinder = BigEndianBitConverter.ToUInt32(sector, 0x98); + rdb.Reserved15 = BigEndianBitConverter.ToUInt32(sector, 0x9C); tmpString = new byte[8]; Array.Copy(sector, 0xA0, tmpString, 0, 8); - RDB.diskVendor = StringHandlers.SpacePaddedToString(tmpString); + rdb.DiskVendor = StringHandlers.SpacePaddedToString(tmpString); tmpString = new byte[16]; Array.Copy(sector, 0xA8, tmpString, 0, 16); - RDB.diskProduct = StringHandlers.SpacePaddedToString(tmpString); + rdb.DiskProduct = StringHandlers.SpacePaddedToString(tmpString); tmpString = new byte[4]; Array.Copy(sector, 0xB8, tmpString, 0, 4); - RDB.diskRevision = StringHandlers.SpacePaddedToString(tmpString); + rdb.DiskRevision = StringHandlers.SpacePaddedToString(tmpString); tmpString = new byte[8]; Array.Copy(sector, 0xBC, tmpString, 0, 8); - RDB.controllerVendor = StringHandlers.SpacePaddedToString(tmpString); + rdb.ControllerVendor = StringHandlers.SpacePaddedToString(tmpString); tmpString = new byte[16]; Array.Copy(sector, 0xC4, tmpString, 0, 16); - RDB.controllerProduct = StringHandlers.SpacePaddedToString(tmpString); + rdb.ControllerProduct = StringHandlers.SpacePaddedToString(tmpString); tmpString = new byte[4]; Array.Copy(sector, 0xD4, tmpString, 0, 4); - RDB.controllerRevision = StringHandlers.SpacePaddedToString(tmpString); + rdb.ControllerRevision = StringHandlers.SpacePaddedToString(tmpString); - RDB.reserved16 = BigEndianBitConverter.ToUInt32(sector, 0xD8); - RDB.reserved17 = BigEndianBitConverter.ToUInt32(sector, 0xDC); - RDB.reserved18 = BigEndianBitConverter.ToUInt32(sector, 0xE0); - RDB.reserved19 = BigEndianBitConverter.ToUInt32(sector, 0xE4); - RDB.reserved20 = BigEndianBitConverter.ToUInt32(sector, 0xE8); - RDB.reserved21 = BigEndianBitConverter.ToUInt32(sector, 0xEC); - RDB.reserved22 = BigEndianBitConverter.ToUInt32(sector, 0xF0); - RDB.reserved23 = BigEndianBitConverter.ToUInt32(sector, 0xF4); - RDB.reserved24 = BigEndianBitConverter.ToUInt32(sector, 0xF8); - RDB.reserved25 = BigEndianBitConverter.ToUInt32(sector, 0xFC); + rdb.Reserved16 = BigEndianBitConverter.ToUInt32(sector, 0xD8); + rdb.Reserved17 = BigEndianBitConverter.ToUInt32(sector, 0xDC); + rdb.Reserved18 = BigEndianBitConverter.ToUInt32(sector, 0xE0); + rdb.Reserved19 = BigEndianBitConverter.ToUInt32(sector, 0xE4); + rdb.Reserved20 = BigEndianBitConverter.ToUInt32(sector, 0xE8); + rdb.Reserved21 = BigEndianBitConverter.ToUInt32(sector, 0xEC); + rdb.Reserved22 = BigEndianBitConverter.ToUInt32(sector, 0xF0); + rdb.Reserved23 = BigEndianBitConverter.ToUInt32(sector, 0xF4); + rdb.Reserved24 = BigEndianBitConverter.ToUInt32(sector, 0xF8); + rdb.Reserved25 = BigEndianBitConverter.ToUInt32(sector, 0xFC); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.magic = 0x{0:X8}", RDB.magic); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.size = {0} longs, {1} bytes", RDB.size, RDB.size * 4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.checksum = 0x{0:X8}", RDB.checksum); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.targetID = {0}", RDB.targetID); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.block_size = {0}", RDB.block_size); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.badblock_ptr = {0}", RDB.badblock_ptr); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.partition_ptr = {0}", RDB.partition_ptr); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.fsheader_ptr = {0}", RDB.fsheader_ptr); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.driveinitcode = {0}", RDB.driveinitcode); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved1 = 0x{0:X8}", RDB.reserved1); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved2 = 0x{0:X8}", RDB.reserved2); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved3 = 0x{0:X8}", RDB.reserved3); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved4 = 0x{0:X8}", RDB.reserved4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved5 = 0x{0:X8}", RDB.reserved5); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved6 = 0x{0:X8}", RDB.reserved6); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.cylinders = {0}", RDB.cylinders); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.spt = {0}", RDB.spt); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.heads = {0}", RDB.heads); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.interleave = {0}", RDB.interleave); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.parking = {0}", RDB.parking); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved7 = 0x{0:X8}", RDB.reserved7); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved8 = 0x{0:X8}", RDB.reserved8); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved9 = 0x{0:X8}", RDB.reserved9); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.writeprecomp = {0}", RDB.writeprecomp); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reducedwrite = {0}", RDB.reducedwrite); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.steprate = {0}", RDB.steprate); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved10 = 0x{0:X8}", RDB.reserved10); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved11 = 0x{0:X8}", RDB.reserved11); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved12 = 0x{0:X8}", RDB.reserved12); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved13 = 0x{0:X8}", RDB.reserved13); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved14 = 0x{0:X8}", RDB.reserved14); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.RDBBlockLow = {0}", RDB.RDBBlockLow); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.RDBBlockHigh = {0}", RDB.RDBBlockHigh); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.LowCylinder = {0}", RDB.LowCylinder); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.HighCylinder = {0}", RDB.HighCylinder); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.CylBlocks = {0}", RDB.CylBlocks); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.AutoParkSeconds = {0}", RDB.AutoParkSeconds); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.HighCylinder = {0}", RDB.HighCylinder); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved15 = 0x{0:X8}", RDB.reserved15); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskVendor = \"{0}\"", RDB.diskVendor); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskProduct = \"{0}\"", RDB.diskProduct); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskRevision = \"{0}\"", RDB.diskRevision); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerVendor = \"{0}\"", RDB.controllerVendor); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerProduct = \"{0}\"", RDB.controllerProduct); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerRevision = \"{0}\"", RDB.controllerRevision); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved16 = 0x{0:X8}", RDB.reserved16); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved17 = 0x{0:X8}", RDB.reserved17); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved18 = 0x{0:X8}", RDB.reserved18); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved19 = 0x{0:X8}", RDB.reserved19); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved20 = 0x{0:X8}", RDB.reserved20); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved21 = 0x{0:X8}", RDB.reserved21); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved22 = 0x{0:X8}", RDB.reserved22); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved23 = 0x{0:X8}", RDB.reserved23); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved24 = 0x{0:X8}", RDB.reserved24); - DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved25 = 0x{0:X8}", RDB.reserved25); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.magic = 0x{0:X8}", rdb.Magic); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.size = {0} longs, {1} bytes", rdb.Size, rdb.Size * 4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.checksum = 0x{0:X8}", rdb.Checksum); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.targetID = {0}", rdb.TargetId); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.block_size = {0}", rdb.BlockSize); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.badblock_ptr = {0}", rdb.BadblockPtr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.partition_ptr = {0}", rdb.PartitionPtr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.fsheader_ptr = {0}", rdb.FsheaderPtr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.driveinitcode = {0}", rdb.Driveinitcode); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved1 = 0x{0:X8}", rdb.Reserved1); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved2 = 0x{0:X8}", rdb.Reserved2); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved3 = 0x{0:X8}", rdb.Reserved3); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved4 = 0x{0:X8}", rdb.Reserved4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved5 = 0x{0:X8}", rdb.Reserved5); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved6 = 0x{0:X8}", rdb.Reserved6); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.cylinders = {0}", rdb.Cylinders); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.spt = {0}", rdb.Spt); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.heads = {0}", rdb.Heads); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.interleave = {0}", rdb.Interleave); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.parking = {0}", rdb.Parking); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved7 = 0x{0:X8}", rdb.Reserved7); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved8 = 0x{0:X8}", rdb.Reserved8); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved9 = 0x{0:X8}", rdb.Reserved9); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.writeprecomp = {0}", rdb.Writeprecomp); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reducedwrite = {0}", rdb.Reducedwrite); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.steprate = {0}", rdb.Steprate); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved10 = 0x{0:X8}", rdb.Reserved10); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved11 = 0x{0:X8}", rdb.Reserved11); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved12 = 0x{0:X8}", rdb.Reserved12); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved13 = 0x{0:X8}", rdb.Reserved13); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved14 = 0x{0:X8}", rdb.Reserved14); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.RDBBlockLow = {0}", rdb.RdbBlockLow); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.RDBBlockHigh = {0}", rdb.RdbBlockHigh); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.LowCylinder = {0}", rdb.LowCylinder); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.HighCylinder = {0}", rdb.HighCylinder); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.CylBlocks = {0}", rdb.CylBlocks); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.AutoParkSeconds = {0}", rdb.AutoParkSeconds); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.HighCylinder = {0}", rdb.HighCylinder); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved15 = 0x{0:X8}", rdb.Reserved15); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskVendor = \"{0}\"", rdb.DiskVendor); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskProduct = \"{0}\"", rdb.DiskProduct); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskRevision = \"{0}\"", rdb.DiskRevision); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerVendor = \"{0}\"", rdb.ControllerVendor); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerProduct = \"{0}\"", rdb.ControllerProduct); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerRevision = \"{0}\"", rdb.ControllerRevision); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved16 = 0x{0:X8}", rdb.Reserved16); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved17 = 0x{0:X8}", rdb.Reserved17); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved18 = 0x{0:X8}", rdb.Reserved18); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved19 = 0x{0:X8}", rdb.Reserved19); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved20 = 0x{0:X8}", rdb.Reserved20); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved21 = 0x{0:X8}", rdb.Reserved21); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved22 = 0x{0:X8}", rdb.Reserved22); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved23 = 0x{0:X8}", rdb.Reserved23); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved24 = 0x{0:X8}", rdb.Reserved24); + DicConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved25 = 0x{0:X8}", rdb.Reserved25); ulong nextBlock; // Reading BadBlock list - List<BadBlockList> BadBlockChain = new List<BadBlockList>(); - nextBlock = RDB.badblock_ptr; + List<BadBlockList> badBlockChain = new List<BadBlockList>(); + nextBlock = rdb.BadblockPtr; while(nextBlock != 0xFFFFFFFF) { DicConsole.DebugWriteLine("Amiga RDB plugin", "Going to block {0} in search of a BadBlock block", @@ -1072,47 +1072,47 @@ namespace DiscImageChef.PartPlugins sector = imagePlugin.ReadSector(nextBlock); uint magic = BigEndianBitConverter.ToUInt32(sector, 0); - if(magic != BadBlockListMagic) break; + if(magic != BAD_BLOCK_LIST_MAGIC) break; DicConsole.DebugWriteLine("Amiga RDB plugin", "Found BadBlock block"); BadBlockList chainEntry = new BadBlockList { - magic = BigEndianBitConverter.ToUInt32(sector, 0x00), - size = BigEndianBitConverter.ToUInt32(sector, 0x04), - checksum = BigEndianBitConverter.ToInt32(sector, 0x08), - targetID = BigEndianBitConverter.ToUInt32(sector, 0x0C), - next_ptr = BigEndianBitConverter.ToUInt32(sector, 0x10), - reserved = BigEndianBitConverter.ToUInt32(sector, 0x14) + Magic = BigEndianBitConverter.ToUInt32(sector, 0x00), + Size = BigEndianBitConverter.ToUInt32(sector, 0x04), + Checksum = BigEndianBitConverter.ToInt32(sector, 0x08), + TargetId = BigEndianBitConverter.ToUInt32(sector, 0x0C), + NextPtr = BigEndianBitConverter.ToUInt32(sector, 0x10), + Reserved = BigEndianBitConverter.ToUInt32(sector, 0x14) }; - ulong entries = (chainEntry.size - 6) / 2; - chainEntry.blockPairs = new BadBlockEntry[entries]; + ulong entries = (chainEntry.Size - 6) / 2; + chainEntry.BlockPairs = new BadBlockEntry[entries]; - DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.magic = 0x{0:X8}", chainEntry.magic); - DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.size = {0} longs, {1} bytes", chainEntry.size, - chainEntry.size * 4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.checksum = 0x{0:X8}", chainEntry.checksum); - DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.targetID = {0}", chainEntry.targetID); - DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.next_ptr = {0}", chainEntry.next_ptr); - DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.reserved = 0x{0:X8}", chainEntry.reserved); + DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.magic = 0x{0:X8}", chainEntry.Magic); + DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.size = {0} longs, {1} bytes", chainEntry.Size, + chainEntry.Size * 4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.checksum = 0x{0:X8}", chainEntry.Checksum); + DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.targetID = {0}", chainEntry.TargetId); + DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.next_ptr = {0}", chainEntry.NextPtr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.reserved = 0x{0:X8}", chainEntry.Reserved); for(ulong i = 0; i < entries; i++) { - chainEntry.blockPairs[i].badBlock = BigEndianBitConverter.ToUInt32(sector, (int)(0x18 + i * 8 + 0)); - chainEntry.blockPairs[i].goodBlock = + chainEntry.BlockPairs[i].BadBlock = BigEndianBitConverter.ToUInt32(sector, (int)(0x18 + i * 8 + 0)); + chainEntry.BlockPairs[i].GoodBlock = BigEndianBitConverter.ToUInt32(sector, (int)(0x18 + i * 8 + 4)); DicConsole.DebugWriteLine("Amiga RDB plugin", "Bad block at {0} replaced with good block at {1}", - chainEntry.blockPairs[i].badBlock, chainEntry.blockPairs[i].goodBlock); + chainEntry.BlockPairs[i].BadBlock, chainEntry.BlockPairs[i].GoodBlock); } - BadBlockChain.Add(chainEntry); - nextBlock = chainEntry.next_ptr; + badBlockChain.Add(chainEntry); + nextBlock = chainEntry.NextPtr; } // Reading BadBlock list - List<PartitionEntry> PartitionEntries = new List<PartitionEntry>(); - nextBlock = RDB.partition_ptr; + List<PartitionEntry> partitionEntries = new List<PartitionEntry>(); + nextBlock = rdb.PartitionPtr; while(nextBlock != 0xFFFFFFFF) { DicConsole.DebugWriteLine("Amiga RDB plugin", "Going to block {0} in search of a PartitionEntry block", @@ -1121,141 +1121,141 @@ namespace DiscImageChef.PartPlugins sector = imagePlugin.ReadSector(nextBlock + sectorOffset); uint magic = BigEndianBitConverter.ToUInt32(sector, 0); - if(magic != PartitionBlockMagic) break; + if(magic != PARTITION_BLOCK_MAGIC) break; DicConsole.DebugWriteLine("Amiga RDB plugin", "Found PartitionEntry block"); PartitionEntry partEntry = new PartitionEntry { - magic = BigEndianBitConverter.ToUInt32(sector, 0x00), - size = BigEndianBitConverter.ToUInt32(sector, 0x04), - checksum = BigEndianBitConverter.ToInt32(sector, 0x08), - targetID = BigEndianBitConverter.ToUInt32(sector, 0x0C), - next_ptr = BigEndianBitConverter.ToUInt32(sector, 0x10), - flags = BigEndianBitConverter.ToUInt32(sector, 0x14), - reserved1 = BigEndianBitConverter.ToUInt32(sector, 0x18), - reserved2 = BigEndianBitConverter.ToUInt32(sector, 0x1C), - devFlags = BigEndianBitConverter.ToUInt32(sector, 0x20), - driveNameLen = sector[0x24], - reserved3 = BigEndianBitConverter.ToUInt32(sector, 0x44), - reserved4 = BigEndianBitConverter.ToUInt32(sector, 0x48), - reserved5 = BigEndianBitConverter.ToUInt32(sector, 0x4C), - reserved6 = BigEndianBitConverter.ToUInt32(sector, 0x50), - reserved7 = BigEndianBitConverter.ToUInt32(sector, 0x54), - reserved8 = BigEndianBitConverter.ToUInt32(sector, 0x58), - reserved9 = BigEndianBitConverter.ToUInt32(sector, 0x5C), - reserved10 = BigEndianBitConverter.ToUInt32(sector, 0x60), - reserved11 = BigEndianBitConverter.ToUInt32(sector, 0x64), - reserved12 = BigEndianBitConverter.ToUInt32(sector, 0x68), - reserved13 = BigEndianBitConverter.ToUInt32(sector, 0x6C), - reserved14 = BigEndianBitConverter.ToUInt32(sector, 0x70), - reserved15 = BigEndianBitConverter.ToUInt32(sector, 0x74), - reserved16 = BigEndianBitConverter.ToUInt32(sector, 0x78), - reserved17 = BigEndianBitConverter.ToUInt32(sector, 0x7C), - dosEnvVec = new DOSEnvironmentVector + Magic = BigEndianBitConverter.ToUInt32(sector, 0x00), + Size = BigEndianBitConverter.ToUInt32(sector, 0x04), + Checksum = BigEndianBitConverter.ToInt32(sector, 0x08), + TargetId = BigEndianBitConverter.ToUInt32(sector, 0x0C), + NextPtr = BigEndianBitConverter.ToUInt32(sector, 0x10), + Flags = BigEndianBitConverter.ToUInt32(sector, 0x14), + Reserved1 = BigEndianBitConverter.ToUInt32(sector, 0x18), + Reserved2 = BigEndianBitConverter.ToUInt32(sector, 0x1C), + DevFlags = BigEndianBitConverter.ToUInt32(sector, 0x20), + DriveNameLen = sector[0x24], + Reserved3 = BigEndianBitConverter.ToUInt32(sector, 0x44), + Reserved4 = BigEndianBitConverter.ToUInt32(sector, 0x48), + Reserved5 = BigEndianBitConverter.ToUInt32(sector, 0x4C), + Reserved6 = BigEndianBitConverter.ToUInt32(sector, 0x50), + Reserved7 = BigEndianBitConverter.ToUInt32(sector, 0x54), + Reserved8 = BigEndianBitConverter.ToUInt32(sector, 0x58), + Reserved9 = BigEndianBitConverter.ToUInt32(sector, 0x5C), + Reserved10 = BigEndianBitConverter.ToUInt32(sector, 0x60), + Reserved11 = BigEndianBitConverter.ToUInt32(sector, 0x64), + Reserved12 = BigEndianBitConverter.ToUInt32(sector, 0x68), + Reserved13 = BigEndianBitConverter.ToUInt32(sector, 0x6C), + Reserved14 = BigEndianBitConverter.ToUInt32(sector, 0x70), + Reserved15 = BigEndianBitConverter.ToUInt32(sector, 0x74), + Reserved16 = BigEndianBitConverter.ToUInt32(sector, 0x78), + Reserved17 = BigEndianBitConverter.ToUInt32(sector, 0x7C), + DosEnvVec = new DosEnvironmentVector { - size = BigEndianBitConverter.ToUInt32(sector, 0x80), - block_size = BigEndianBitConverter.ToUInt32(sector, 0x84), - sec_org = BigEndianBitConverter.ToUInt32(sector, 0x88), - surfaces = BigEndianBitConverter.ToUInt32(sector, 0x8C), - spb = BigEndianBitConverter.ToUInt32(sector, 0x90), - bpt = BigEndianBitConverter.ToUInt32(sector, 0x94), - reservedblocks = BigEndianBitConverter.ToUInt32(sector, 0x98), - prealloc = BigEndianBitConverter.ToUInt32(sector, 0x9C), - interleave = BigEndianBitConverter.ToUInt32(sector, 0xA0), - lowCylinder = BigEndianBitConverter.ToUInt32(sector, 0xA4), - highCylinder = BigEndianBitConverter.ToUInt32(sector, 0xA8), - numBuffer = BigEndianBitConverter.ToUInt32(sector, 0xAC), - bufMemType = BigEndianBitConverter.ToUInt32(sector, 0xB0), - maxTransfer = BigEndianBitConverter.ToUInt32(sector, 0xB4), + Size = BigEndianBitConverter.ToUInt32(sector, 0x80), + BlockSize = BigEndianBitConverter.ToUInt32(sector, 0x84), + SecOrg = BigEndianBitConverter.ToUInt32(sector, 0x88), + Surfaces = BigEndianBitConverter.ToUInt32(sector, 0x8C), + Spb = BigEndianBitConverter.ToUInt32(sector, 0x90), + Bpt = BigEndianBitConverter.ToUInt32(sector, 0x94), + Reservedblocks = BigEndianBitConverter.ToUInt32(sector, 0x98), + Prealloc = BigEndianBitConverter.ToUInt32(sector, 0x9C), + Interleave = BigEndianBitConverter.ToUInt32(sector, 0xA0), + LowCylinder = BigEndianBitConverter.ToUInt32(sector, 0xA4), + HighCylinder = BigEndianBitConverter.ToUInt32(sector, 0xA8), + NumBuffer = BigEndianBitConverter.ToUInt32(sector, 0xAC), + BufMemType = BigEndianBitConverter.ToUInt32(sector, 0xB0), + MaxTransfer = BigEndianBitConverter.ToUInt32(sector, 0xB4), Mask = BigEndianBitConverter.ToUInt32(sector, 0xB8), - bootPriority = BigEndianBitConverter.ToUInt32(sector, 0xBC), - dosType = BigEndianBitConverter.ToUInt32(sector, 0xC0), - baud = BigEndianBitConverter.ToUInt32(sector, 0xC4), - control = BigEndianBitConverter.ToUInt32(sector, 0xC8), - bootBlocks = BigEndianBitConverter.ToUInt32(sector, 0xCC) + BootPriority = BigEndianBitConverter.ToUInt32(sector, 0xBC), + DosType = BigEndianBitConverter.ToUInt32(sector, 0xC0), + Baud = BigEndianBitConverter.ToUInt32(sector, 0xC4), + Control = BigEndianBitConverter.ToUInt32(sector, 0xC8), + BootBlocks = BigEndianBitConverter.ToUInt32(sector, 0xCC) } }; byte[] driveName = new byte[32]; Array.Copy(sector, 0x24, driveName, 0, 32); - partEntry.driveName = StringHandlers.PascalToString(driveName, Encoding.GetEncoding("iso-8859-1")); + partEntry.DriveName = StringHandlers.PascalToString(driveName, Encoding.GetEncoding("iso-8859-1")); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.magic = 0x{0:X8}", partEntry.magic); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.size = {0} longs, {1} bytes", partEntry.size, - partEntry.size * 4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.checksum = 0x{0:X8}", partEntry.checksum); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.targetID = {0}", partEntry.targetID); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.next_ptr = {0}", partEntry.next_ptr); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.flags = 0x{0:X8}", partEntry.flags); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved1 = 0x{0:X8}", partEntry.reserved1); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved2 = 0x{0:X8}", partEntry.reserved2); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.devFlags = 0x{0:X8}", partEntry.devFlags); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.driveNameLen = {0}", partEntry.driveNameLen); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.driveName = \"{0}\"", partEntry.driveName); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved3 = 0x{0:X8}", partEntry.reserved3); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved4 = 0x{0:X8}", partEntry.reserved4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved5 = 0x{0:X8}", partEntry.reserved5); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved6 = 0x{0:X8}", partEntry.reserved6); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved7 = 0x{0:X8}", partEntry.reserved7); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved8 = 0x{0:X8}", partEntry.reserved8); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved9 = 0x{0:X8}", partEntry.reserved9); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved10 = 0x{0:X8}", partEntry.reserved10); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved11 = 0x{0:X8}", partEntry.reserved11); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved12 = 0x{0:X8}", partEntry.reserved12); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved13 = 0x{0:X8}", partEntry.reserved13); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved14 = 0x{0:X8}", partEntry.reserved14); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved15 = 0x{0:X8}", partEntry.reserved15); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved16 = 0x{0:X8}", partEntry.reserved16); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved17 = 0x{0:X8}", partEntry.reserved17); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.magic = 0x{0:X8}", partEntry.Magic); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.size = {0} longs, {1} bytes", partEntry.Size, + partEntry.Size * 4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.checksum = 0x{0:X8}", partEntry.Checksum); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.targetID = {0}", partEntry.TargetId); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.next_ptr = {0}", partEntry.NextPtr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.flags = 0x{0:X8}", partEntry.Flags); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved1 = 0x{0:X8}", partEntry.Reserved1); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved2 = 0x{0:X8}", partEntry.Reserved2); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.devFlags = 0x{0:X8}", partEntry.DevFlags); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.driveNameLen = {0}", partEntry.DriveNameLen); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.driveName = \"{0}\"", partEntry.DriveName); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved3 = 0x{0:X8}", partEntry.Reserved3); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved4 = 0x{0:X8}", partEntry.Reserved4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved5 = 0x{0:X8}", partEntry.Reserved5); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved6 = 0x{0:X8}", partEntry.Reserved6); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved7 = 0x{0:X8}", partEntry.Reserved7); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved8 = 0x{0:X8}", partEntry.Reserved8); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved9 = 0x{0:X8}", partEntry.Reserved9); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved10 = 0x{0:X8}", partEntry.Reserved10); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved11 = 0x{0:X8}", partEntry.Reserved11); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved12 = 0x{0:X8}", partEntry.Reserved12); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved13 = 0x{0:X8}", partEntry.Reserved13); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved14 = 0x{0:X8}", partEntry.Reserved14); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved15 = 0x{0:X8}", partEntry.Reserved15); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved16 = 0x{0:X8}", partEntry.Reserved16); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved17 = 0x{0:X8}", partEntry.Reserved17); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.size = {0} longs, {1} bytes", - partEntry.dosEnvVec.size, partEntry.dosEnvVec.size * 4); + partEntry.DosEnvVec.Size, partEntry.DosEnvVec.Size * 4); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.block_size = {0} longs, {1} bytes", - partEntry.dosEnvVec.block_size, partEntry.dosEnvVec.block_size * 4); + partEntry.DosEnvVec.BlockSize, partEntry.DosEnvVec.BlockSize * 4); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.sec_org = 0x{0:X8}", - partEntry.dosEnvVec.sec_org); + partEntry.DosEnvVec.SecOrg); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.surfaces = {0}", - partEntry.dosEnvVec.surfaces); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.spb = {0}", partEntry.dosEnvVec.spb); - DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bpt = {0}", partEntry.dosEnvVec.bpt); + partEntry.DosEnvVec.Surfaces); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.spb = {0}", partEntry.DosEnvVec.Spb); + DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bpt = {0}", partEntry.DosEnvVec.Bpt); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.reservedblocks = {0}", - partEntry.dosEnvVec.reservedblocks); + partEntry.DosEnvVec.Reservedblocks); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.prealloc = {0}", - partEntry.dosEnvVec.prealloc); + partEntry.DosEnvVec.Prealloc); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.interleave = {0}", - partEntry.dosEnvVec.interleave); + partEntry.DosEnvVec.Interleave); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.lowCylinder = {0}", - partEntry.dosEnvVec.lowCylinder); + partEntry.DosEnvVec.LowCylinder); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.highCylinder = {0}", - partEntry.dosEnvVec.highCylinder); + partEntry.DosEnvVec.HighCylinder); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.numBuffer = {0}", - partEntry.dosEnvVec.numBuffer); + partEntry.DosEnvVec.NumBuffer); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bufMemType = {0}", - partEntry.dosEnvVec.bufMemType); + partEntry.DosEnvVec.BufMemType); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.maxTransfer = {0}", - partEntry.dosEnvVec.maxTransfer); + partEntry.DosEnvVec.MaxTransfer); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.Mask = 0x{0:X8}", - partEntry.dosEnvVec.Mask); + partEntry.DosEnvVec.Mask); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bootPriority = {0}", - partEntry.dosEnvVec.bootPriority); + partEntry.DosEnvVec.BootPriority); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.dosType = {0}", - AmigaDOSTypeToString(partEntry.dosEnvVec.dosType, true)); + AmigaDosTypeToString(partEntry.DosEnvVec.DosType, true)); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.baud = {0}", - partEntry.dosEnvVec.baud); + partEntry.DosEnvVec.Baud); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.control = 0x{0:X8}", - partEntry.dosEnvVec.control); + partEntry.DosEnvVec.Control); DicConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bootBlocks = {0}", - partEntry.dosEnvVec.bootBlocks); + partEntry.DosEnvVec.BootBlocks); - PartitionEntries.Add(partEntry); - nextBlock = partEntry.next_ptr; + partitionEntries.Add(partEntry); + nextBlock = partEntry.NextPtr; } // Reading BadBlock list - List<FileSystemHeader> FSHDEntries = new List<FileSystemHeader>(); - List<LoadSegment> SegmentEntries = new List<LoadSegment>(); - nextBlock = RDB.fsheader_ptr; + List<FileSystemHeader> fshdEntries = new List<FileSystemHeader>(); + List<LoadSegment> segmentEntries = new List<LoadSegment>(); + nextBlock = rdb.FsheaderPtr; while(nextBlock != 0xFFFFFFFF) { DicConsole.DebugWriteLine("Amiga RDB plugin", @@ -1264,65 +1264,65 @@ namespace DiscImageChef.PartPlugins sector = imagePlugin.ReadSector(nextBlock); uint magic = BigEndianBitConverter.ToUInt32(sector, 0); - if(magic != FilesystemHeaderMagic) break; + if(magic != FILESYSTEM_HEADER_MAGIC) break; DicConsole.DebugWriteLine("Amiga RDB plugin", "Found FileSystemHeader block"); - FileSystemHeader FSHD = new FileSystemHeader + FileSystemHeader fshd = new FileSystemHeader { - magic = BigEndianBitConverter.ToUInt32(sector, 0x00), - size = BigEndianBitConverter.ToUInt32(sector, 0x04), - checksum = BigEndianBitConverter.ToInt32(sector, 0x08), - targetID = BigEndianBitConverter.ToUInt32(sector, 0x0C), - next_ptr = BigEndianBitConverter.ToUInt32(sector, 0x10), - flags = BigEndianBitConverter.ToUInt32(sector, 0x14), - reserved1 = BigEndianBitConverter.ToUInt32(sector, 0x18), - reserved2 = BigEndianBitConverter.ToUInt32(sector, 0x1C), - dosType = BigEndianBitConverter.ToUInt32(sector, 0x20), - version = BigEndianBitConverter.ToUInt32(sector, 0x24), - patchFlags = BigEndianBitConverter.ToUInt32(sector, 0x28), - dnode = new DeviceNode + Magic = BigEndianBitConverter.ToUInt32(sector, 0x00), + Size = BigEndianBitConverter.ToUInt32(sector, 0x04), + Checksum = BigEndianBitConverter.ToInt32(sector, 0x08), + TargetId = BigEndianBitConverter.ToUInt32(sector, 0x0C), + NextPtr = BigEndianBitConverter.ToUInt32(sector, 0x10), + Flags = BigEndianBitConverter.ToUInt32(sector, 0x14), + Reserved1 = BigEndianBitConverter.ToUInt32(sector, 0x18), + Reserved2 = BigEndianBitConverter.ToUInt32(sector, 0x1C), + DosType = BigEndianBitConverter.ToUInt32(sector, 0x20), + Version = BigEndianBitConverter.ToUInt32(sector, 0x24), + PatchFlags = BigEndianBitConverter.ToUInt32(sector, 0x28), + Dnode = new DeviceNode { - type = BigEndianBitConverter.ToUInt32(sector, 0x2C), - task = BigEndianBitConverter.ToUInt32(sector, 0x30), - locked = BigEndianBitConverter.ToUInt32(sector, 0x34), - handler = BigEndianBitConverter.ToUInt32(sector, 0x38), - stackSize = BigEndianBitConverter.ToUInt32(sector, 0x3C), - priority = BigEndianBitConverter.ToUInt32(sector, 0x40), - startup = BigEndianBitConverter.ToUInt32(sector, 0x44), - seglist_ptr = BigEndianBitConverter.ToUInt32(sector, 0x48), - global_vec = BigEndianBitConverter.ToUInt32(sector, 0x4C) + Type = BigEndianBitConverter.ToUInt32(sector, 0x2C), + Task = BigEndianBitConverter.ToUInt32(sector, 0x30), + Locked = BigEndianBitConverter.ToUInt32(sector, 0x34), + Handler = BigEndianBitConverter.ToUInt32(sector, 0x38), + StackSize = BigEndianBitConverter.ToUInt32(sector, 0x3C), + Priority = BigEndianBitConverter.ToUInt32(sector, 0x40), + Startup = BigEndianBitConverter.ToUInt32(sector, 0x44), + SeglistPtr = BigEndianBitConverter.ToUInt32(sector, 0x48), + GlobalVec = BigEndianBitConverter.ToUInt32(sector, 0x4C) } }; - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.magic = 0x{0:X8}", FSHD.magic); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.size = {0} longs, {1} bytes", FSHD.size, - FSHD.size * 4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.checksum = 0x{0:X8}", FSHD.checksum); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.targetID = {0}", FSHD.targetID); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.next_ptr = {0}", FSHD.next_ptr); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.flags = 0x{0:X8}", FSHD.flags); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.reserved1 = 0x{0:X8}", FSHD.reserved1); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.reserved2 = 0x{0:X8}", FSHD.reserved2); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dosType = {0}", AmigaDOSTypeToString(FSHD.dosType)); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.magic = 0x{0:X8}", fshd.Magic); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.size = {0} longs, {1} bytes", fshd.Size, + fshd.Size * 4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.checksum = 0x{0:X8}", fshd.Checksum); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.targetID = {0}", fshd.TargetId); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.next_ptr = {0}", fshd.NextPtr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.flags = 0x{0:X8}", fshd.Flags); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.reserved1 = 0x{0:X8}", fshd.Reserved1); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.reserved2 = 0x{0:X8}", fshd.Reserved2); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dosType = {0}", AmigaDosTypeToString(fshd.DosType)); DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.version = {0:D2}.{1:D2} (0x{2:X8})", - (FSHD.version & 0xFFFF0000) >> 16, FSHD.version & 0xFFFF, FSHD.version); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.patchFlags = 0x{0:X8}", FSHD.patchFlags); + (fshd.Version & 0xFFFF0000) >> 16, fshd.Version & 0xFFFF, fshd.Version); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.patchFlags = 0x{0:X8}", fshd.PatchFlags); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.type = {0}", FSHD.dnode.type); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.task = {0}", FSHD.dnode.task); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.locked = {0}", FSHD.dnode.locked); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.handler = {0}", FSHD.dnode.handler); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.stackSize = {0}", FSHD.dnode.stackSize); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.priority = {0}", FSHD.dnode.priority); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.startup = {0}", FSHD.dnode.startup); - DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.seglist_ptr = {0}", FSHD.dnode.seglist_ptr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.type = {0}", fshd.Dnode.Type); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.task = {0}", fshd.Dnode.Task); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.locked = {0}", fshd.Dnode.Locked); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.handler = {0}", fshd.Dnode.Handler); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.stackSize = {0}", fshd.Dnode.StackSize); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.priority = {0}", fshd.Dnode.Priority); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.startup = {0}", fshd.Dnode.Startup); + DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.seglist_ptr = {0}", fshd.Dnode.SeglistPtr); DicConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.global_vec = 0x{0:X8}", - FSHD.dnode.global_vec); + fshd.Dnode.GlobalVec); - nextBlock = FSHD.dnode.seglist_ptr; + nextBlock = fshd.Dnode.SeglistPtr; bool thereAreLoadSegments = false; - Checksums.SHA1Context sha1Ctx = new Checksums.SHA1Context(); + Checksums.Sha1Context sha1Ctx = new Checksums.Sha1Context(); sha1Ctx.Init(); while(nextBlock != 0xFFFFFFFF) { @@ -1332,61 +1332,61 @@ namespace DiscImageChef.PartPlugins sector = imagePlugin.ReadSector(nextBlock); uint magicSeg = BigEndianBitConverter.ToUInt32(sector, 0); - if(magicSeg != LoadSegMagic) break; + if(magicSeg != LOAD_SEG_MAGIC) break; DicConsole.DebugWriteLine("Amiga RDB plugin", "Found LoadSegment block"); thereAreLoadSegments = true; LoadSegment loadSeg = new LoadSegment(); - loadSeg.magic = BigEndianBitConverter.ToUInt32(sector, 0x00); - loadSeg.size = BigEndianBitConverter.ToUInt32(sector, 0x04); - loadSeg.checksum = BigEndianBitConverter.ToInt32(sector, 0x08); - loadSeg.targetID = BigEndianBitConverter.ToUInt32(sector, 0x0C); - loadSeg.next_ptr = BigEndianBitConverter.ToUInt32(sector, 0x10); - loadSeg.loadData = new byte[(loadSeg.size - 5) * 4]; - Array.Copy(sector, 0x14, loadSeg.loadData, 0, (loadSeg.size - 5) * 4); + loadSeg.Magic = BigEndianBitConverter.ToUInt32(sector, 0x00); + loadSeg.Size = BigEndianBitConverter.ToUInt32(sector, 0x04); + loadSeg.Checksum = BigEndianBitConverter.ToInt32(sector, 0x08); + loadSeg.TargetId = BigEndianBitConverter.ToUInt32(sector, 0x0C); + loadSeg.NextPtr = BigEndianBitConverter.ToUInt32(sector, 0x10); + loadSeg.LoadData = new byte[(loadSeg.Size - 5) * 4]; + Array.Copy(sector, 0x14, loadSeg.LoadData, 0, (loadSeg.Size - 5) * 4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.magic = 0x{0:X8}", loadSeg.magic); - DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.size = {0} longs, {1} bytes", loadSeg.size, - loadSeg.size * 4); - DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.checksum = 0x{0:X8}", loadSeg.checksum); - DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.targetID = {0}", loadSeg.targetID); - DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.next_ptr = {0}", loadSeg.next_ptr); + DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.magic = 0x{0:X8}", loadSeg.Magic); + DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.size = {0} longs, {1} bytes", loadSeg.Size, + loadSeg.Size * 4); + DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.checksum = 0x{0:X8}", loadSeg.Checksum); + DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.targetID = {0}", loadSeg.TargetId); + DicConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.next_ptr = {0}", loadSeg.NextPtr); - SegmentEntries.Add(loadSeg); - nextBlock = loadSeg.next_ptr; + segmentEntries.Add(loadSeg); + nextBlock = loadSeg.NextPtr; - sha1Ctx.Update(loadSeg.loadData); + sha1Ctx.Update(loadSeg.LoadData); } if(thereAreLoadSegments) { - string loadSegSHA1 = sha1Ctx.End(); - DicConsole.DebugWriteLine("Amiga RDB plugin", "LoadSegment data SHA1: {0}", loadSegSHA1); + string loadSegSha1 = sha1Ctx.End(); + DicConsole.DebugWriteLine("Amiga RDB plugin", "LoadSegment data SHA1: {0}", loadSegSha1); } - FSHDEntries.Add(FSHD); - nextBlock = FSHD.next_ptr; + fshdEntries.Add(fshd); + nextBlock = fshd.NextPtr; } ulong sequence = 0; - foreach(PartitionEntry RDBEntry in PartitionEntries) + foreach(PartitionEntry rdbEntry in partitionEntries) { CommonTypes.Partition entry = new CommonTypes.Partition { - Description = AmigaDOSTypeToDescriptionString(RDBEntry.dosEnvVec.dosType), - Name = RDBEntry.driveName, + Description = AmigaDosTypeToDescriptionString(rdbEntry.DosEnvVec.DosType), + Name = rdbEntry.DriveName, Sequence = sequence, Length = - (RDBEntry.dosEnvVec.highCylinder + 1 - RDBEntry.dosEnvVec.lowCylinder) * - RDBEntry.dosEnvVec.surfaces * RDBEntry.dosEnvVec.bpt, - Start = RDBEntry.dosEnvVec.lowCylinder * RDBEntry.dosEnvVec.surfaces * RDBEntry.dosEnvVec.bpt + + (rdbEntry.DosEnvVec.HighCylinder + 1 - rdbEntry.DosEnvVec.LowCylinder) * + rdbEntry.DosEnvVec.Surfaces * rdbEntry.DosEnvVec.Bpt, + Start = rdbEntry.DosEnvVec.LowCylinder * rdbEntry.DosEnvVec.Surfaces * rdbEntry.DosEnvVec.Bpt + sectorOffset, - Type = AmigaDOSTypeToString(RDBEntry.dosEnvVec.dosType), + Type = AmigaDosTypeToString(rdbEntry.DosEnvVec.DosType), Scheme = Name }; - entry.Offset = entry.Start * RDB.block_size; - entry.Size = entry.Length * RDB.block_size; + entry.Offset = entry.Start * rdb.BlockSize; + entry.Size = entry.Length * rdb.BlockSize; partitions.Add(entry); sequence++; @@ -1395,119 +1395,119 @@ namespace DiscImageChef.PartPlugins return true; } - static string AmigaDOSTypeToDescriptionString(uint AmigaDOSType) + static string AmigaDosTypeToDescriptionString(uint amigaDosType) { - switch(AmigaDOSType) + switch(amigaDosType) { - case TypeIDOFS: return "Amiga Original File System"; - case TypeIDFFS: return "Amiga Fast File System"; - case TypeIDOFSi: return "Amiga Original File System with international characters"; - case TypeIDFFSi: return "Amiga Fast File System with international characters"; - case TypeIDOFSc: return "Amiga Original File System with directory cache"; - case TypeIDFFSc: return "Amiga Fast File System with directory cache"; - case TypeIDOFS2: return "Amiga Original File System with long filenames"; - case TypeIDFFS2: return "Amiga Fast File System with long filenames"; - case TypeIDAMIXSysV: return "Amiga UNIX System V filesystem"; - case TypeIDAMIXBoot: return "Amiga UNIX boot filesystem"; - case TypeIDAMIXFFS: return "Amiga UNIX BSD filesystem"; - case TypeIDAMIXReserved: return "Amiga UNIX Reserved partition (swap)"; - case TypeIDPFS: - case TypeIDPFS2: - case TypeIDPFSm: - case TypeIDAFS: return "ProfessionalFileSystem"; - case TypeIDSFS: return "SmartFileSystem v1"; - case TypeIDSFS2: return "SmartFileSystem v2"; - case TypeIDJXFS: return "JXFS"; - case TypeIDCrossDOS: return "FAT, as set by CrossDOS"; - case TypeIDCrossMac: return "HFS, as set by CrossMac"; - case TypeIDBFFS: return "4.2UFS, for BFFS"; - case TypeIDmuOFS: return "Amiga Original File System with multi-user patches"; - case TypeIDmuFFS: return "Amiga Fast File System with multi-user patches"; - case TypeIDmuOFSi: + case TYPEID_OFS: return "Amiga Original File System"; + case TYPEID_FFS: return "Amiga Fast File System"; + case TYPEID_OFS_INTL: return "Amiga Original File System with international characters"; + case TYPEID_FFS_INTL: return "Amiga Fast File System with international characters"; + case TYPEID_OFS_CACHE: return "Amiga Original File System with directory cache"; + case TYPEID_FFS_CACHE: return "Amiga Fast File System with directory cache"; + case TYPEID_OFS2: return "Amiga Original File System with long filenames"; + case TYPEID_FFS2: return "Amiga Fast File System with long filenames"; + case TypeID_AMIXSysV: return "Amiga UNIX System V filesystem"; + case TYPEID_AMIX_BOOT: return "Amiga UNIX boot filesystem"; + case TYPEID_AMIXFFS: return "Amiga UNIX BSD filesystem"; + case TYPEID_AMIX_RESERVED: return "Amiga UNIX Reserved partition (swap)"; + case TYPEID_PFS: + case TYPEID_PFS2: + case TYPEID_PFS_MUSER: + case TYPEID_AFS: return "ProfessionalFileSystem"; + case TYPEID_SFS: return "SmartFileSystem v1"; + case TYPEID_SFS2: return "SmartFileSystem v2"; + case TYPEID_JXFS: return "JXFS"; + case TYPEID_CROSS_DOS: return "FAT, as set by CrossDOS"; + case TYPEID_CROSS_MAC: return "HFS, as set by CrossMac"; + case TYPEID_BFFS: return "4.2UFS, for BFFS"; + case TYPEID_OFS_MUSER: return "Amiga Original File System with multi-user patches"; + case TYPEID_FFS_MUSER: return "Amiga Fast File System with multi-user patches"; + case TYPEID_OFS_INTL_MUSER: return "Amiga Original File System with international characters and multi-user patches"; - case TypeIDmuFFSi: return "Amiga Fast File System with international characters and multi-user patches"; - case TypeIDmuOFSc: return "Amiga Original File System with directory cache and multi-user patches"; - case TypeIDmuFFSc: return "Amiga Fast File System with directory cache and multi-user patches"; - case TypeIDOldBSDUnused: return "BSD unused"; - case TypeIDOldBSDSwap: return "BSD swap"; - case TypeIDOldBSD42FFS: return "BSD 4.2 FFS"; - case TypeIDOldBSD44LFS: return "BSD 4.4 LFS"; - case TypeIDNetBSDRootUnused: return "NetBSD unused root partition"; - case TypeIDNetBSDRoot42FFS: return "NetBSD 4.2 FFS root partition"; - case TypeIDNetBSDRoot44LFS: return "NetBSD 4.4 LFS root partition"; - case TypeIDNetBSDUserUnused: return "NetBSD unused user partition"; - case TypeIDNetBSDUser42FFS: return "NetBSD 4.2 FFS user partition"; - case TypeIDNetBSDUser44LFS: return "NetBSD 4.4 LFS user partition"; - case TypeIDNetBSDSwap: return "NetBSD swap partition"; - case TypeIDLinux: return "Linux filesystem partition"; - case TypeIDLinuxSwap: return "Linux swap partition"; - case TypeIDRaidFrame: - case TypeIDRaidFrame0: return "RaidFrame partition"; + case TYPEID_FFS_INTL_MUSER: return "Amiga Fast File System with international characters and multi-user patches"; + case TYPEID_OFS_CACHE_MUSER: return "Amiga Original File System with directory cache and multi-user patches"; + case TYPEID_FFS_CACHE_MUSER: return "Amiga Fast File System with directory cache and multi-user patches"; + case TYPEID_OLD_BSD_UNUSED: return "BSD unused"; + case TYPEID_OLD_BSD_SWAP: return "BSD swap"; + case TYPEID_OLD_BSD42_FFS: return "BSD 4.2 FFS"; + case TYPEID_OLD_BSD44_LFS: return "BSD 4.4 LFS"; + case TYPEID_NETBSD_ROOT_UNUSED: return "NetBSD unused root partition"; + case TYPEID_NETBSD_ROOT_42FFS: return "NetBSD 4.2 FFS root partition"; + case TYPEID_NETBSD_ROOT_44LFS: return "NetBSD 4.4 LFS root partition"; + case TYPEID_NETBSD_USER_UNUSED: return "NetBSD unused user partition"; + case TYPEID_NETBSD_USER_42FFS: return "NetBSD 4.2 FFS user partition"; + case TYPEID_NETBSD_USER_44LFS: return "NetBSD 4.4 LFS user partition"; + case TYPEID_NETBSD_SWAP: return "NetBSD swap partition"; + case TYPEID_LINUX: return "Linux filesystem partition"; + case TYPEID_LINUX_SWAP: return "Linux swap partition"; + case TYPEID_RAID_FRAME: + case TYPEID_RAID_FRAME0: return "RaidFrame partition"; default: { - if((AmigaDOSType & TypeIDOFS) == TypeIDOFS) + if((amigaDosType & TYPEID_OFS) == TYPEID_OFS) return string.Format("Unknown Amiga DOS filesystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDAMIXSysV) == TypeIDAMIXSysV) + if((amigaDosType & TypeID_AMIXSysV) == TypeID_AMIXSysV) return string.Format("Unknown Amiga UNIX filesystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & 0x50465300) == 0x50465300 || (AmigaDOSType & 0x41465300) == 0x41465300) + if((amigaDosType & 0x50465300) == 0x50465300 || (amigaDosType & 0x41465300) == 0x41465300) return string.Format("Unknown ProfessionalFileSystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDSFS) == TypeIDSFS) - return string.Format("Unknown SmartFileSystem type {0}", AmigaDOSTypeToString(AmigaDOSType)); + if((amigaDosType & TYPEID_SFS) == TYPEID_SFS) + return string.Format("Unknown SmartFileSystem type {0}", AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDmuOFS) == TypeIDmuOFS) + if((amigaDosType & TYPEID_OFS_MUSER) == TYPEID_OFS_MUSER) return string.Format("Unknown Amiga DOS multi-user filesystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDOldBSDUnused) == TypeIDOldBSDUnused) - return string.Format("Unknown BSD filesystem type {0}", AmigaDOSTypeToString(AmigaDOSType)); + if((amigaDosType & TYPEID_OLD_BSD_UNUSED) == TYPEID_OLD_BSD_UNUSED) + return string.Format("Unknown BSD filesystem type {0}", AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDNetBSDRootUnused) == TypeIDNetBSDRootUnused) + if((amigaDosType & TYPEID_NETBSD_ROOT_UNUSED) == TYPEID_NETBSD_ROOT_UNUSED) return string.Format("Unknown NetBSD root filesystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDNetBSDUserUnused) == TypeIDNetBSDUserUnused) + if((amigaDosType & TYPEID_NETBSD_USER_UNUSED) == TYPEID_NETBSD_USER_UNUSED) return string.Format("Unknown NetBSD user filesystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDNetBSDSwap) == TypeIDNetBSDSwap) + if((amigaDosType & TYPEID_NETBSD_SWAP) == TYPEID_NETBSD_SWAP) return string.Format("Unknown NetBSD swap filesystem type {0}", - AmigaDOSTypeToString(AmigaDOSType)); + AmigaDosTypeToString(amigaDosType)); - if((AmigaDOSType & TypeIDLinux) == TypeIDLinux || - (AmigaDOSType & TypeIDLinuxSwap) == TypeIDLinuxSwap) - return string.Format("Unknown Linux filesystem type {0}", AmigaDOSTypeToString(AmigaDOSType)); + if((amigaDosType & TYPEID_LINUX) == TYPEID_LINUX || + (amigaDosType & TYPEID_LINUX_SWAP) == TYPEID_LINUX_SWAP) + return string.Format("Unknown Linux filesystem type {0}", AmigaDosTypeToString(amigaDosType)); - return string.Format("Unknown partition type {0}", AmigaDOSTypeToString(AmigaDOSType)); + return string.Format("Unknown partition type {0}", AmigaDosTypeToString(amigaDosType)); } } } - static string AmigaDOSTypeToString(uint AmigaDOSType) + static string AmigaDosTypeToString(uint amigaDosType) { - return AmigaDOSTypeToString(AmigaDOSType, true); + return AmigaDosTypeToString(amigaDosType, true); } - static string AmigaDOSTypeToString(uint AmigaDOSType, bool quoted) + static string AmigaDosTypeToString(uint amigaDosType, bool quoted) { byte[] textPart = new byte[3]; string textPartString; - textPart[0] = (byte)((AmigaDOSType & 0xFF000000) >> 24); - textPart[1] = (byte)((AmigaDOSType & 0x00FF0000) >> 16); - textPart[2] = (byte)((AmigaDOSType & 0x0000FF00) >> 8); + textPart[0] = (byte)((amigaDosType & 0xFF000000) >> 24); + textPart[1] = (byte)((amigaDosType & 0x00FF0000) >> 16); + textPart[2] = (byte)((amigaDosType & 0x0000FF00) >> 8); textPartString = Encoding.ASCII.GetString(textPart); return quoted - ? string.Format("\"{0}\\{1}\"", textPartString, AmigaDOSType & 0xFF) - : string.Format("{0}\\{1}", textPartString, AmigaDOSType & 0xFF); + ? string.Format("\"{0}\\{1}\"", textPartString, amigaDosType & 0xFF) + : string.Format("{0}\\{1}", textPartString, amigaDosType & 0xFF); } } } \ No newline at end of file diff --git a/DiscImageChef.Partitions/RioKarma.cs b/DiscImageChef.Partitions/RioKarma.cs index c580ae906..99094039f 100644 --- a/DiscImageChef.Partitions/RioKarma.cs +++ b/DiscImageChef.Partitions/RioKarma.cs @@ -34,11 +34,11 @@ using System; using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class RioKarma : PartPlugin + public class RioKarma : PartitionPlugin { const ushort KarmaMagic = 0xAB56; const byte EntryMagic = 0x4D; @@ -46,7 +46,7 @@ namespace DiscImageChef.PartPlugins public RioKarma() { Name = "Rio Karma partitioning"; - PluginUUID = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); + PluginUuid = new Guid("246A6D93-4F1A-1F8A-344D-50187A5513A9"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/SGI.cs b/DiscImageChef.Partitions/SGI.cs index 7c63ac684..c8f7e1a41 100644 --- a/DiscImageChef.Partitions/SGI.cs +++ b/DiscImageChef.Partitions/SGI.cs @@ -35,18 +35,18 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class SGI : PartPlugin + public class SGI : PartitionPlugin { const int SGI_MAGIC = 0x0BE5A941; public SGI() { Name = "SGI Disk Volume Header"; - PluginUUID = new Guid("AEF5AB45-4880-4CE8-8735-F0A402E2E5F2"); + PluginUuid = new Guid("AEF5AB45-4880-4CE8-8735-F0A402E2E5F2"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/Sun.cs b/DiscImageChef.Partitions/Sun.cs index 49b6d2462..50ffd8522 100644 --- a/DiscImageChef.Partitions/Sun.cs +++ b/DiscImageChef.Partitions/Sun.cs @@ -35,9 +35,9 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.Console; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class SunDisklabel : PartPlugin + public class SunDisklabel : PartitionPlugin { /// <summary>Sun disklabel magic number</summary> const ushort DKL_MAGIC = 0xDABE; @@ -103,10 +103,10 @@ namespace DiscImageChef.PartPlugins public SunDisklabel() { Name = "Sun Disklabel"; - PluginUUID = new Guid("50F35CC4-8375-4445-8DCB-1BA550C931A3"); + PluginUuid = new Guid("50F35CC4-8375-4445-8DCB-1BA550C931A3"); } - public override bool GetInformation(ImagePlugins.ImagePlugin imagePlugin, + public override bool GetInformation(DiscImages.ImagePlugin imagePlugin, out List<CommonTypes.Partition> partitions, ulong sectorOffset) { partitions = new List<CommonTypes.Partition>(); diff --git a/DiscImageChef.Partitions/UNIX.cs b/DiscImageChef.Partitions/UNIX.cs index 2d7fb54b9..732215888 100644 --- a/DiscImageChef.Partitions/UNIX.cs +++ b/DiscImageChef.Partitions/UNIX.cs @@ -34,19 +34,19 @@ using System; using System.Collections.Generic; using System.Linq; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { // These partitions are hardwired in kernel sources for some UNIX versions predating System V. // They depend on exact device, indeed the kernel chooses what to use depending on the disk driver, so that's what we do. // Currently only DEC devices used in Ultrix are added, probably it's missing a lot of entries. - public class UNIX : PartPlugin + public class UNIX : PartitionPlugin { public UNIX() { Name = "UNIX hardwired"; - PluginUUID = new Guid("9ED7E30B-53BF-4619-87A0-5D2002155617"); + PluginUuid = new Guid("9ED7E30B-53BF-4619-87A0-5D2002155617"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) @@ -56,7 +56,7 @@ namespace DiscImageChef.PartPlugins if(sectorOffset != 0) return false; - switch(imagePlugin.ImageInfo.mediaType) + switch(imagePlugin.ImageInfo.MediaType) { case MediaType.RA60: parts = RA60; diff --git a/DiscImageChef.Partitions/VTOC.cs b/DiscImageChef.Partitions/VTOC.cs index c00e06508..9da3a714b 100644 --- a/DiscImageChef.Partitions/VTOC.cs +++ b/DiscImageChef.Partitions/VTOC.cs @@ -35,11 +35,11 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class VTOC : PartPlugin + public class VTOC : PartitionPlugin { const uint PD_MAGIC = 0xCA5E600D; const uint VTOC_SANE = 0x600DDEEE; @@ -51,7 +51,7 @@ namespace DiscImageChef.PartPlugins public VTOC() { Name = "UNIX VTOC"; - PluginUUID = new Guid("6D35A66F-8D77-426F-A562-D88F6A1F1702"); + PluginUuid = new Guid("6D35A66F-8D77-426F-A562-D88F6A1F1702"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/XENIX.cs b/DiscImageChef.Partitions/XENIX.cs index 68a2c06b5..a425b93f2 100644 --- a/DiscImageChef.Partitions/XENIX.cs +++ b/DiscImageChef.Partitions/XENIX.cs @@ -35,12 +35,12 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; using DiscImageChef.Console; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { // TODO: Find better documentation, this is working for XENIX 2 but not for SCO OpenServer... - public class XENIX : PartPlugin + public class XENIX : PartitionPlugin { const ushort PAMAGIC = 0x1234; const int MAXPARTS = 16; @@ -51,7 +51,7 @@ namespace DiscImageChef.PartPlugins public XENIX() { Name = "XENIX"; - PluginUUID = new Guid("53BE01DE-E68B-469F-A17F-EC2E4BD61CD9"); + PluginUuid = new Guid("53BE01DE-E68B-469F-A17F-EC2E4BD61CD9"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) diff --git a/DiscImageChef.Partitions/Xbox.cs b/DiscImageChef.Partitions/Xbox.cs index f54150fe1..1a4571a00 100644 --- a/DiscImageChef.Partitions/Xbox.cs +++ b/DiscImageChef.Partitions/Xbox.cs @@ -34,11 +34,11 @@ using System; using System.Collections.Generic; using System.Runtime.InteropServices; using DiscImageChef.CommonTypes; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; -namespace DiscImageChef.PartPlugins +namespace DiscImageChef.Partitions { - public class Xbox : PartPlugin + public class Xbox : PartitionPlugin { const uint XboxCigam = 0x46415458; const uint XboxMagic = 0x58544146; @@ -74,7 +74,7 @@ namespace DiscImageChef.PartPlugins public Xbox() { Name = "Xbox partitioning"; - PluginUUID = new Guid("E3F6FB91-D358-4F22-A550-81E92D50EB78"); + PluginUuid = new Guid("E3F6FB91-D358-4F22-A550-81E92D50EB78"); } public override bool GetInformation(ImagePlugin imagePlugin, out List<Partition> partitions, ulong sectorOffset) @@ -91,16 +91,16 @@ namespace DiscImageChef.PartPlugins BigEndianMarshal.ByteArrayToStructureBigEndian<Xbox360DevKitPartitionTable>(sector); if(table.magic == Xbox360DevKitMagic && - table.contentOff + table.contentLen <= imagePlugin.ImageInfo.sectors && - table.dashboardOff + table.dashboardLen <= imagePlugin.ImageInfo.sectors) + table.contentOff + table.contentLen <= imagePlugin.ImageInfo.Sectors && + table.dashboardOff + table.dashboardLen <= imagePlugin.ImageInfo.Sectors) { Partition contentPart = new Partition { Description = "Content volume", - Size = (ulong)table.contentLen * imagePlugin.ImageInfo.sectorSize, + Size = (ulong)table.contentLen * imagePlugin.ImageInfo.SectorSize, Length = table.contentLen, Sequence = 1, - Offset = (ulong)table.contentOff * imagePlugin.ImageInfo.sectorSize, + Offset = (ulong)table.contentOff * imagePlugin.ImageInfo.SectorSize, Start = table.contentOff, Scheme = Name }; @@ -108,10 +108,10 @@ namespace DiscImageChef.PartPlugins Partition dashboardPart = new Partition { Description = "Dashboard volume", - Size = (ulong)table.dashboardLen * imagePlugin.ImageInfo.sectorSize, + Size = (ulong)table.dashboardLen * imagePlugin.ImageInfo.SectorSize, Length = table.dashboardLen, Sequence = 2, - Offset = (ulong)table.dashboardOff * imagePlugin.ImageInfo.sectorSize, + Offset = (ulong)table.dashboardOff * imagePlugin.ImageInfo.SectorSize, Start = table.dashboardOff, Scheme = Name }; @@ -124,9 +124,9 @@ namespace DiscImageChef.PartPlugins uint temp = 0; - if(imagePlugin.ImageInfo.sectors > (ulong)(MemoryUnitDataOff / imagePlugin.ImageInfo.sectorSize)) + if(imagePlugin.ImageInfo.Sectors > (ulong)(MemoryUnitDataOff / imagePlugin.ImageInfo.SectorSize)) { - sector = imagePlugin.ReadSector((ulong)(MemoryUnitDataOff / imagePlugin.ImageInfo.sectorSize)); + sector = imagePlugin.ReadSector((ulong)(MemoryUnitDataOff / imagePlugin.ImageInfo.SectorSize)); temp = BitConverter.ToUInt32(sector, 0); if(temp == XboxCigam) @@ -135,7 +135,7 @@ namespace DiscImageChef.PartPlugins { Description = "System cache", Size = MemoryUnitDataOff, - Length = (ulong)(MemoryUnitDataOff / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(MemoryUnitDataOff / imagePlugin.ImageInfo.SectorSize), Sequence = 1, Offset = 0, Start = 0, @@ -146,8 +146,8 @@ namespace DiscImageChef.PartPlugins { Description = "Data volume", Size = - (ulong)imagePlugin.ImageInfo.sectors * imagePlugin.ImageInfo.sectorSize - MemoryUnitDataOff, - Length = imagePlugin.ImageInfo.sectors - sysCachePart.Length, + (ulong)imagePlugin.ImageInfo.Sectors * imagePlugin.ImageInfo.SectorSize - MemoryUnitDataOff, + Length = imagePlugin.ImageInfo.Sectors - sysCachePart.Length, Sequence = 2, Offset = MemoryUnitDataOff, Start = sysCachePart.Length, @@ -161,9 +161,9 @@ namespace DiscImageChef.PartPlugins } } - if(imagePlugin.ImageInfo.sectors > (ulong)(Xbox360DataOff / imagePlugin.ImageInfo.sectorSize)) + if(imagePlugin.ImageInfo.Sectors > (ulong)(Xbox360DataOff / imagePlugin.ImageInfo.SectorSize)) { - sector = imagePlugin.ReadSector((ulong)(Xbox360DataOff / imagePlugin.ImageInfo.sectorSize)); + sector = imagePlugin.ReadSector((ulong)(Xbox360DataOff / imagePlugin.ImageInfo.SectorSize)); temp = BitConverter.ToUInt32(sector, 0); if(temp == XboxCigam) @@ -172,10 +172,10 @@ namespace DiscImageChef.PartPlugins { Description = "Security sectors", Size = Xbox360SecuritySectorLen, - Length = (ulong)(Xbox360SecuritySectorLen / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(Xbox360SecuritySectorLen / imagePlugin.ImageInfo.SectorSize), Sequence = 1, Offset = Xbox360SecuritySectorOff, - Start = (ulong)(Xbox360SecuritySectorOff / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox360SecuritySectorOff / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; @@ -183,10 +183,10 @@ namespace DiscImageChef.PartPlugins { Description = "System cache", Size = Xbox360SystemCacheLen, - Length = (ulong)(Xbox360SystemCacheLen / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(Xbox360SystemCacheLen / imagePlugin.ImageInfo.SectorSize), Sequence = 2, Offset = Xbox360SystemCacheOff, - Start = (ulong)(Xbox360SystemCacheOff / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox360SystemCacheOff / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; @@ -194,10 +194,10 @@ namespace DiscImageChef.PartPlugins { Description = "Game cache", Size = Xbox360GameCacheLen, - Length = (ulong)(Xbox360GameCacheLen / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(Xbox360GameCacheLen / imagePlugin.ImageInfo.SectorSize), Sequence = 3, Offset = Xbox360GameCacheOff, - Start = (ulong)(Xbox360GameCacheOff / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox360GameCacheOff / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; @@ -205,10 +205,10 @@ namespace DiscImageChef.PartPlugins { Description = "System volume", Size = Xbox368SysExtLen, - Length = (ulong)(Xbox368SysExtLen / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(Xbox368SysExtLen / imagePlugin.ImageInfo.SectorSize), Sequence = 4, Offset = Xbox368SysExtOff, - Start = (ulong)(Xbox368SysExtOff / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox368SysExtOff / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; @@ -216,10 +216,10 @@ namespace DiscImageChef.PartPlugins { Description = "System volume 2", Size = Xbox360SysExt2Len, - Length = (ulong)(Xbox360SysExt2Len / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(Xbox360SysExt2Len / imagePlugin.ImageInfo.SectorSize), Sequence = 5, Offset = Xbox360SysExt2Off, - Start = (ulong)(Xbox360SysExt2Off / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox360SysExt2Off / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; @@ -227,10 +227,10 @@ namespace DiscImageChef.PartPlugins { Description = "Xbox backwards compatibility", Size = Xbox360CompatLen, - Length = (ulong)(Xbox360CompatLen / imagePlugin.ImageInfo.sectorSize), + Length = (ulong)(Xbox360CompatLen / imagePlugin.ImageInfo.SectorSize), Sequence = 6, Offset = Xbox360CompatOff, - Start = (ulong)(Xbox360CompatOff / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox360CompatOff / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; @@ -239,11 +239,11 @@ namespace DiscImageChef.PartPlugins Description = "Data volume", Sequence = 7, Offset = Xbox360DataOff, - Start = (ulong)(Xbox360DataOff / imagePlugin.ImageInfo.sectorSize), + Start = (ulong)(Xbox360DataOff / imagePlugin.ImageInfo.SectorSize), Scheme = Name }; - dataPart.Length = imagePlugin.ImageInfo.sectors - dataPart.Start; - dataPart.Size = dataPart.Length * imagePlugin.ImageInfo.sectorSize; + dataPart.Length = imagePlugin.ImageInfo.Sectors - dataPart.Start; + dataPart.Size = dataPart.Length * imagePlugin.ImageInfo.SectorSize; partitions.Add(securityPart); partitions.Add(sysCachePart); diff --git a/DiscImageChef.Tests.Devices/Device.cs b/DiscImageChef.Tests.Devices/Device.cs index 6f4420c7a..425a919d6 100644 --- a/DiscImageChef.Tests.Devices/Device.cs +++ b/DiscImageChef.Tests.Devices/Device.cs @@ -41,7 +41,7 @@ namespace DiscImageChef.Tests.Devices while(true) { - DicConsole.WriteLine("dev.PlatformID = {0}", dev.PlatformID); + DicConsole.WriteLine("dev.PlatformID = {0}", dev.PlatformId); DicConsole.WriteLine("dev.FileHandle = {0}", dev.FileHandle); DicConsole.WriteLine("dev.Timeout = {0}", dev.Timeout); DicConsole.WriteLine("dev.Error = {0}", dev.Error); @@ -51,25 +51,25 @@ namespace DiscImageChef.Tests.Devices DicConsole.WriteLine("dev.Model = \"{0}\"", dev.Model); DicConsole.WriteLine("dev.Revision = \"{0}\"", dev.Revision); DicConsole.WriteLine("dev.Serial = \"{0}\"", dev.Serial); - DicConsole.WriteLine("dev.SCSIType = {0}", dev.SCSIType); + DicConsole.WriteLine("dev.SCSIType = {0}", dev.ScsiType); DicConsole.WriteLine("dev.IsRemovable = {0}", dev.IsRemovable); - DicConsole.WriteLine("dev.IsUSB = {0}", dev.IsUSB); - DicConsole.WriteLine("dev.USBVendorID = 0x{0:X4}", dev.USBVendorID); - DicConsole.WriteLine("dev.USBProductID = 0x{0:X4}", dev.USBProductID); + DicConsole.WriteLine("dev.IsUSB = {0}", dev.IsUsb); + DicConsole.WriteLine("dev.USBVendorID = 0x{0:X4}", dev.UsbVendorId); + DicConsole.WriteLine("dev.USBProductID = 0x{0:X4}", dev.UsbProductId); DicConsole.WriteLine("dev.USBDescriptors.Length = {0}", - dev.USBDescriptors == null ? "null" : dev.USBDescriptors.Length.ToString()); - DicConsole.WriteLine("dev.USBManufacturerString = \"{0}\"", dev.USBManufacturerString); - DicConsole.WriteLine("dev.USBProductString = \"{0}\"", dev.USBProductString); - DicConsole.WriteLine("dev.USBSerialString = \"{0}\"", dev.USBSerialString); + dev.UsbDescriptors == null ? "null" : dev.UsbDescriptors.Length.ToString()); + DicConsole.WriteLine("dev.USBManufacturerString = \"{0}\"", dev.UsbManufacturerString); + DicConsole.WriteLine("dev.USBProductString = \"{0}\"", dev.UsbProductString); + DicConsole.WriteLine("dev.USBSerialString = \"{0}\"", dev.UsbSerialString); DicConsole.WriteLine("dev.IsFireWire = {0}", dev.IsFireWire); - DicConsole.WriteLine("dev.FireWireGUID = {0:X16}", dev.FireWireGUID); + DicConsole.WriteLine("dev.FireWireGUID = {0:X16}", dev.FireWireGuid); DicConsole.WriteLine("dev.FireWireModel = 0x{0:X8}", dev.FireWireModel); DicConsole.WriteLine("dev.FireWireModelName = \"{0}\"", dev.FireWireModelName); DicConsole.WriteLine("dev.FireWireVendor = 0x{0:X8}", dev.FireWireVendor); DicConsole.WriteLine("dev.FireWireVendorName = \"{0}\"", dev.FireWireVendorName); DicConsole.WriteLine("dev.IsCompactFlash = {0}", dev.IsCompactFlash); - DicConsole.WriteLine("dev.IsPCMCIA = {0}", dev.IsPCMCIA); - DicConsole.WriteLine("dev.CIS.Length = {0}", dev.CIS == null ? "null" : dev.CIS.Length.ToString()); + DicConsole.WriteLine("dev.IsPCMCIA = {0}", dev.IsPcmcia); + DicConsole.WriteLine("dev.CIS.Length = {0}", dev.Cis == null ? "null" : dev.Cis.Length.ToString()); DicConsole.WriteLine("Press any key to continue...", devPath); System.Console.ReadKey(); @@ -101,7 +101,7 @@ namespace DiscImageChef.Tests.Devices System.Console.Clear(); DicConsole.WriteLine("Device: {0}", devPath); DicConsole.WriteLine("USB descriptors:"); - if(dev.USBDescriptors != null) PrintHex.PrintHexArray(dev.USBDescriptors, 64); + if(dev.UsbDescriptors != null) PrintHex.PrintHexArray(dev.UsbDescriptors, 64); DicConsole.WriteLine("Press any key to continue..."); System.Console.ReadKey(); goto menu; @@ -109,7 +109,7 @@ namespace DiscImageChef.Tests.Devices System.Console.Clear(); DicConsole.WriteLine("Device: {0}", devPath); DicConsole.WriteLine("PCMCIA CIS:"); - if(dev.CIS != null) PrintHex.PrintHexArray(dev.CIS, 64); + if(dev.Cis != null) PrintHex.PrintHexArray(dev.Cis, 64); DicConsole.WriteLine("Press any key to continue..."); System.Console.ReadKey(); goto menu; diff --git a/DiscImageChef.Tests.Devices/Main.cs b/DiscImageChef.Tests.Devices/Main.cs index 3520bb8e6..b6ce5f835 100644 --- a/DiscImageChef.Tests.Devices/Main.cs +++ b/DiscImageChef.Tests.Devices/Main.cs @@ -50,7 +50,7 @@ namespace DiscImageChef.Tests.Devices return; } - devices = devices.OrderBy(d => d.path).ToArray(); + devices = devices.OrderBy(d => d.Path).ToArray(); int item; string strDev; @@ -67,9 +67,9 @@ namespace DiscImageChef.Tests.Devices "----------------", "------------------------", "------------------------", "----------", "----------", "--------"); for(int i = 0; i < devices.Length; i++) - DicConsole.WriteLine("{6,-8}|{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", devices[i].path, - devices[i].vendor, devices[i].model, devices[i].serial, devices[i].bus, - devices[i].supported, i + 1); + DicConsole.WriteLine("{6,-8}|{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", devices[i].Path, + devices[i].Vendor, devices[i].Model, devices[i].Serial, devices[i].Bus, + devices[i].Supported, i + 1); DicConsole.Write("Please choose which drive to test (0 to exit): "); strDev = System.Console.ReadLine(); @@ -93,7 +93,7 @@ namespace DiscImageChef.Tests.Devices continue; } - Device(devices[item - 1].path); + Device(devices[item - 1].Path); } } } diff --git a/DiscImageChef.Tests.Devices/SCSI/HP.cs b/DiscImageChef.Tests.Devices/SCSI/HP.cs index c466b3f33..0c6e9d726 100644 --- a/DiscImageChef.Tests.Devices/SCSI/HP.cs +++ b/DiscImageChef.Tests.Devices/SCSI/HP.cs @@ -179,7 +179,7 @@ namespace DiscImageChef.Tests.Devices.SCSI start: System.Console.Clear(); - bool sense = dev.HPReadLong(out byte[] buffer, out byte[] senseBuffer, relative, address, length, bps, + bool sense = dev.HpReadLong(out byte[] buffer, out byte[] senseBuffer, relative, address, length, bps, physical, sectorCount, dev.Timeout, out double duration); menu: diff --git a/DiscImageChef.Tests.Devices/SCSI/Kreon.cs b/DiscImageChef.Tests.Devices/SCSI/Kreon.cs index 15439fcfb..4c09e6e29 100644 --- a/DiscImageChef.Tests.Devices/SCSI/Kreon.cs +++ b/DiscImageChef.Tests.Devices/SCSI/Kreon.cs @@ -130,7 +130,7 @@ namespace DiscImageChef.Tests.Devices.SCSI start: System.Console.Clear(); - bool sense = dev.KreonExtractSS(out byte[] buffer, out byte[] senseBuffer, dev.Timeout, out double duration, + bool sense = dev.KreonExtractSs(out byte[] buffer, out byte[] senseBuffer, dev.Timeout, out double duration, requestNumber); menu: diff --git a/DiscImageChef.Tests.Devices/SCSI/MMC.cs b/DiscImageChef.Tests.Devices/SCSI/MMC.cs index f746ffd1b..b97bb9d15 100644 --- a/DiscImageChef.Tests.Devices/SCSI/MMC.cs +++ b/DiscImageChef.Tests.Devices/SCSI/MMC.cs @@ -707,7 +707,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Sector type"); DicConsole.WriteLine("Available values: {0} {1} {2} {3} {4} {5}", MmcSectorTypes.AllTypes, - MmcSectorTypes.CDDA, MmcSectorTypes.Mode1, MmcSectorTypes.Mode2, + MmcSectorTypes.Cdda, MmcSectorTypes.Mode1, MmcSectorTypes.Mode2, MmcSectorTypes.Mode2Form1, MmcSectorTypes.Mode2Form2); DicConsole.Write("Choose?: "); strDev = System.Console.ReadLine(); @@ -788,7 +788,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Subchannel mode"); DicConsole.WriteLine("Available values: {0} {1} {2} {3}", MmcSubchannel.None, MmcSubchannel.Raw, - MmcSubchannel.Q16, MmcSubchannel.RW); + MmcSubchannel.Q16, MmcSubchannel.Rw); DicConsole.Write("Choose?: "); strDev = System.Console.ReadLine(); if(!System.Enum.TryParse(strDev, true, out subchan)) @@ -1013,7 +1013,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Sector type"); DicConsole.WriteLine("Available values: {0} {1} {2} {3} {4} {5}", MmcSectorTypes.AllTypes, - MmcSectorTypes.CDDA, MmcSectorTypes.Mode1, MmcSectorTypes.Mode2, + MmcSectorTypes.Cdda, MmcSectorTypes.Mode1, MmcSectorTypes.Mode2, MmcSectorTypes.Mode2Form1, MmcSectorTypes.Mode2Form2); DicConsole.Write("Choose?: "); strDev = System.Console.ReadLine(); @@ -1094,7 +1094,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Subchannel mode"); DicConsole.WriteLine("Available values: {0} {1} {2} {3}", MmcSubchannel.None, MmcSubchannel.Raw, - MmcSubchannel.Q16, MmcSubchannel.RW); + MmcSubchannel.Q16, MmcSubchannel.Rw); DicConsole.Write("Choose?: "); strDev = System.Console.ReadLine(); if(!System.Enum.TryParse(strDev, true, out subchan)) @@ -1239,7 +1239,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Available values: {0} {1} {2}", MmcDiscInformationDataTypes.DiscInformation, MmcDiscInformationDataTypes.TrackResources, - MmcDiscInformationDataTypes.POWResources); + MmcDiscInformationDataTypes.PowResources); DicConsole.Write("Choose?: "); strDev = System.Console.ReadLine(); if(!System.Enum.TryParse(strDev, true, out info)) @@ -1347,7 +1347,7 @@ namespace DiscImageChef.Tests.Devices.SCSI static void ReadDiscStructure(string devPath, Device dev) { - MmcDiscStructureMediaType mediaType = MmcDiscStructureMediaType.DVD; + MmcDiscStructureMediaType mediaType = MmcDiscStructureMediaType.Dvd; MmcDiscStructureFormat format = MmcDiscStructureFormat.CapabilityList; uint address = 0; byte layer = 0; @@ -1387,21 +1387,21 @@ namespace DiscImageChef.Tests.Devices.SCSI return; case 1: DicConsole.WriteLine("Media type"); - DicConsole.WriteLine("Available values: {0} {1}", MmcDiscStructureMediaType.DVD, - MmcDiscStructureMediaType.BD); + DicConsole.WriteLine("Available values: {0} {1}", MmcDiscStructureMediaType.Dvd, + MmcDiscStructureMediaType.Bd); DicConsole.Write("Choose?: "); strDev = System.Console.ReadLine(); if(!System.Enum.TryParse(strDev, true, out mediaType)) { DicConsole.WriteLine("Not a correct media type. Press any key to continue..."); - mediaType = MmcDiscStructureMediaType.DVD; + mediaType = MmcDiscStructureMediaType.Dvd; System.Console.ReadKey(); continue; } DicConsole.WriteLine("Format"); DicConsole.WriteLine("Available values:"); - if(mediaType == MmcDiscStructureMediaType.DVD) + if(mediaType == MmcDiscStructureMediaType.Dvd) { DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.PhysicalInformation, MmcDiscStructureFormat.CopyrightInformation, @@ -1412,39 +1412,39 @@ namespace DiscImageChef.Tests.Devices.SCSI MmcDiscStructureFormat.SectorCopyrightInformation, MmcDiscStructureFormat.MediaIdentifier, MmcDiscStructureFormat.MediaKeyBlock); - DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.DVDRAM_DDS, - MmcDiscStructureFormat.DVDRAM_MediumStatus, - MmcDiscStructureFormat.DVDRAM_SpareAreaInformation, - MmcDiscStructureFormat.DVDRAM_RecordingType); - DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.LastBorderOutRMD, - MmcDiscStructureFormat.SpecifiedRMD, + DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.DvdramDds, + MmcDiscStructureFormat.DvdramMediumStatus, + MmcDiscStructureFormat.DvdramSpareAreaInformation, + MmcDiscStructureFormat.DvdramRecordingType); + DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.LastBorderOutRmd, + MmcDiscStructureFormat.SpecifiedRmd, MmcDiscStructureFormat.PreRecordedInfo, - MmcDiscStructureFormat.DVDR_MediaIdentifier); - DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.DVDR_PhysicalInformation, - MmcDiscStructureFormat.ADIP, - MmcDiscStructureFormat.HDDVD_CopyrightInformation, - MmcDiscStructureFormat.DVD_AACS); - DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.HDDVDR_MediumStatus, - MmcDiscStructureFormat.HDDVDR_LastRMD, - MmcDiscStructureFormat.DVDR_LayerCapacity, + MmcDiscStructureFormat.DvdrMediaIdentifier); + DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.DvdrPhysicalInformation, + MmcDiscStructureFormat.Adip, + MmcDiscStructureFormat.HddvdCopyrightInformation, + MmcDiscStructureFormat.DvdAacs); + DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.HddvdrMediumStatus, + MmcDiscStructureFormat.HddvdrLastRmd, + MmcDiscStructureFormat.DvdrLayerCapacity, MmcDiscStructureFormat.MiddleZoneStart); DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.JumpIntervalSize, - MmcDiscStructureFormat.ManualLayerJumpStartLBA, - MmcDiscStructureFormat.RemapAnchorPoint, MmcDiscStructureFormat.DCB); + MmcDiscStructureFormat.ManualLayerJumpStartLba, + MmcDiscStructureFormat.RemapAnchorPoint, MmcDiscStructureFormat.Dcb); } - if(mediaType == MmcDiscStructureMediaType.BD) + if(mediaType == MmcDiscStructureMediaType.Bd) { DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.DiscInformation, - MmcDiscStructureFormat.BD_BurstCuttingArea, - MmcDiscStructureFormat.BD_DDS, MmcDiscStructureFormat.CartridgeStatus); - DicConsole.WriteLine("\t{0} {1} {2}", MmcDiscStructureFormat.BD_SpareAreaInformation, - MmcDiscStructureFormat.RawDFL, MmcDiscStructureFormat.PAC); + MmcDiscStructureFormat.BdBurstCuttingArea, + MmcDiscStructureFormat.BdDds, MmcDiscStructureFormat.CartridgeStatus); + DicConsole.WriteLine("\t{0} {1} {2}", MmcDiscStructureFormat.BdSpareAreaInformation, + MmcDiscStructureFormat.RawDfl, MmcDiscStructureFormat.Pac); } - DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.AACSVolId, - MmcDiscStructureFormat.AACSMediaSerial, MmcDiscStructureFormat.AACSMediaId, - MmcDiscStructureFormat.AACSMKB); - DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.AACSDataKeys, - MmcDiscStructureFormat.AACSLBAExtents, MmcDiscStructureFormat.AACSMKBCPRM, + DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.AacsVolId, + MmcDiscStructureFormat.AacsMediaSerial, MmcDiscStructureFormat.AacsMediaId, + MmcDiscStructureFormat.Aacsmkb); + DicConsole.WriteLine("\t{0} {1} {2} {3}", MmcDiscStructureFormat.AacsDataKeys, + MmcDiscStructureFormat.AacslbaExtents, MmcDiscStructureFormat.Aacsmkbcprm, MmcDiscStructureFormat.RecognizedFormatLayers); DicConsole.WriteLine("\t{0} {1}", MmcDiscStructureFormat.WriteProtectionStatus, MmcDiscStructureFormat.CapabilityList); diff --git a/DiscImageChef.Tests.Devices/SCSI/Plextor.cs b/DiscImageChef.Tests.Devices/SCSI/Plextor.cs index 65742dc4b..eeaa0577a 100644 --- a/DiscImageChef.Tests.Devices/SCSI/Plextor.cs +++ b/DiscImageChef.Tests.Devices/SCSI/Plextor.cs @@ -1225,7 +1225,7 @@ namespace DiscImageChef.Tests.Devices.SCSI { start: System.Console.Clear(); - bool sense = dev.PlextorReadEepromCDR(out byte[] buffer, out byte[] senseBuffer, dev.Timeout, + bool sense = dev.PlextorReadEepromCdr(out byte[] buffer, out byte[] senseBuffer, dev.Timeout, out double duration); menu: diff --git a/DiscImageChef.Tests.Devices/SCSI/SPC.cs b/DiscImageChef.Tests.Devices/SCSI/SPC.cs index 4f1a3a6a1..f3dc90f0e 100644 --- a/DiscImageChef.Tests.Devices/SCSI/SPC.cs +++ b/DiscImageChef.Tests.Devices/SCSI/SPC.cs @@ -464,7 +464,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Device: {0}", devPath); DicConsole.WriteLine("MODE SENSE (6) decoded response:"); if(buffer != null) - DicConsole.WriteLine("{0}", Decoders.SCSI.Modes.PrettifyModeHeader6(buffer, dev.SCSIType)); + DicConsole.WriteLine("{0}", Decoders.SCSI.Modes.PrettifyModeHeader6(buffer, dev.ScsiType)); DicConsole.WriteLine("Press any key to continue..."); System.Console.ReadKey(); System.Console.Clear(); @@ -655,7 +655,7 @@ namespace DiscImageChef.Tests.Devices.SCSI DicConsole.WriteLine("Device: {0}", devPath); DicConsole.WriteLine("MODE SENSE (10) decoded response:"); if(buffer != null) - DicConsole.WriteLine("{0}", Decoders.SCSI.Modes.PrettifyModeHeader10(buffer, dev.SCSIType)); + DicConsole.WriteLine("{0}", Decoders.SCSI.Modes.PrettifyModeHeader10(buffer, dev.ScsiType)); DicConsole.WriteLine("Press any key to continue..."); System.Console.ReadKey(); System.Console.Clear(); diff --git a/DiscImageChef.Tests.Devices/SecureDigital/MultiMediaCard.cs b/DiscImageChef.Tests.Devices/SecureDigital/MultiMediaCard.cs index f80ccf890..158f1f7f9 100644 --- a/DiscImageChef.Tests.Devices/SecureDigital/MultiMediaCard.cs +++ b/DiscImageChef.Tests.Devices/SecureDigital/MultiMediaCard.cs @@ -258,7 +258,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadOCR(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadOcr(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -340,7 +340,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadSDStatus(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadSdStatus(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -411,7 +411,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadCID(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCid(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -493,7 +493,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadCSD(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCsd(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -575,7 +575,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadExtendedCSD(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadExtendedCsd(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); diff --git a/DiscImageChef.Tests.Devices/SecureDigital/SecureDigital.cs b/DiscImageChef.Tests.Devices/SecureDigital/SecureDigital.cs index e7cec5007..a3f24974c 100644 --- a/DiscImageChef.Tests.Devices/SecureDigital/SecureDigital.cs +++ b/DiscImageChef.Tests.Devices/SecureDigital/SecureDigital.cs @@ -258,7 +258,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadSDOCR(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadSdocr(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -340,7 +340,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadSDStatus(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadSdStatus(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -411,7 +411,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadCID(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCid(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -493,7 +493,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadCSD(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCsd(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); @@ -575,7 +575,7 @@ namespace DiscImageChef.Tests.Devices.SecureDigital { start: System.Console.Clear(); - bool sense = dev.ReadSCR(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadScr(out byte[] buffer, out uint[] response, dev.Timeout, out double duration); menu: DicConsole.WriteLine("Device: {0}", devPath); diff --git a/DiscImageChef.Tests/Checksums/CRC16.cs b/DiscImageChef.Tests/Checksums/CRC16.cs index 865fe461e..0570c8900 100644 --- a/DiscImageChef.Tests/Checksums/CRC16.cs +++ b/DiscImageChef.Tests/Checksums/CRC16.cs @@ -41,7 +41,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void CRC16EmptyFile() { - byte[] result = CRC16Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); + byte[] result = Crc16Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); } @@ -54,7 +54,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC16Context.Data(data, out byte[] result); + Crc16Context.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); } @@ -67,7 +67,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC16Context ctx = new CRC16Context(); + Crc16Context ctx = new Crc16Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -77,7 +77,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void CRC16RandomFile() { - byte[] result = CRC16Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); + byte[] result = Crc16Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); } @@ -90,7 +90,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC16Context.Data(data, out byte[] result); + Crc16Context.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); } @@ -103,7 +103,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC16Context ctx = new CRC16Context(); + Crc16Context ctx = new Crc16Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/CRC32.cs b/DiscImageChef.Tests/Checksums/CRC32.cs index e5436ef38..78599c3dd 100644 --- a/DiscImageChef.Tests/Checksums/CRC32.cs +++ b/DiscImageChef.Tests/Checksums/CRC32.cs @@ -41,7 +41,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void CRC32EmptyFile() { - byte[] result = CRC32Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); + byte[] result = Crc32Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); } @@ -54,7 +54,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC32Context.Data(data, out byte[] result); + Crc32Context.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); } @@ -67,7 +67,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC32Context ctx = new CRC32Context(); + Crc32Context ctx = new Crc32Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -77,7 +77,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void CRC32RandomFile() { - byte[] result = CRC32Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); + byte[] result = Crc32Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); } @@ -90,7 +90,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC32Context.Data(data, out byte[] result); + Crc32Context.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); } @@ -103,7 +103,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC32Context ctx = new CRC32Context(); + Crc32Context ctx = new Crc32Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/CRC64.cs b/DiscImageChef.Tests/Checksums/CRC64.cs index bd57e9fc7..71f33492a 100644 --- a/DiscImageChef.Tests/Checksums/CRC64.cs +++ b/DiscImageChef.Tests/Checksums/CRC64.cs @@ -41,7 +41,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void CRC64EmptyFile() { - byte[] result = CRC64Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); + byte[] result = Crc64Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); } @@ -54,7 +54,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC64Context.Data(data, out byte[] result); + Crc64Context.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); } @@ -67,7 +67,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC64Context ctx = new CRC64Context(); + Crc64Context ctx = new Crc64Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -77,7 +77,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void CRC64RandomFile() { - byte[] result = CRC64Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); + byte[] result = Crc64Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); } @@ -90,7 +90,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC64Context.Data(data, out byte[] result); + Crc64Context.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); } @@ -103,7 +103,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - CRC64Context ctx = new CRC64Context(); + Crc64Context ctx = new Crc64Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/MD5.cs b/DiscImageChef.Tests/Checksums/MD5.cs index 9f288025f..2058c9dbf 100644 --- a/DiscImageChef.Tests/Checksums/MD5.cs +++ b/DiscImageChef.Tests/Checksums/MD5.cs @@ -43,7 +43,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void MD5EmptyFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); @@ -58,7 +58,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); @@ -73,7 +73,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -83,7 +83,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void MD5RandomFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); @@ -98,7 +98,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); @@ -113,7 +113,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/RIPEMD160.cs b/DiscImageChef.Tests/Checksums/RIPEMD160.cs index b8c5cfd03..16fef27ba 100644 --- a/DiscImageChef.Tests/Checksums/RIPEMD160.cs +++ b/DiscImageChef.Tests/Checksums/RIPEMD160.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void RIPEMD160EmptyFile() { - RIPEMD160Context ctx = new RIPEMD160Context(); + Ripemd160Context ctx = new Ripemd160Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); @@ -64,7 +64,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - RIPEMD160Context ctx = new RIPEMD160Context(); + Ripemd160Context ctx = new Ripemd160Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); @@ -79,7 +79,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - RIPEMD160Context ctx = new RIPEMD160Context(); + Ripemd160Context ctx = new Ripemd160Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -89,7 +89,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void RIPEMD160RandomFile() { - RIPEMD160Context ctx = new RIPEMD160Context(); + Ripemd160Context ctx = new Ripemd160Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - RIPEMD160Context ctx = new RIPEMD160Context(); + Ripemd160Context ctx = new Ripemd160Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); @@ -119,7 +119,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - RIPEMD160Context ctx = new RIPEMD160Context(); + Ripemd160Context ctx = new Ripemd160Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/SHA1.cs b/DiscImageChef.Tests/Checksums/SHA1.cs index f8d62a456..edf7e0fee 100644 --- a/DiscImageChef.Tests/Checksums/SHA1.cs +++ b/DiscImageChef.Tests/Checksums/SHA1.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA1EmptyFile() { - SHA1Context ctx = new SHA1Context(); + Sha1Context ctx = new Sha1Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); @@ -64,7 +64,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA1Context ctx = new SHA1Context(); + Sha1Context ctx = new Sha1Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); @@ -79,7 +79,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA1Context ctx = new SHA1Context(); + Sha1Context ctx = new Sha1Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -89,7 +89,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA1RandomFile() { - SHA1Context ctx = new SHA1Context(); + Sha1Context ctx = new Sha1Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA1Context ctx = new SHA1Context(); + Sha1Context ctx = new Sha1Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); @@ -119,7 +119,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA1Context ctx = new SHA1Context(); + Sha1Context ctx = new Sha1Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/SHA256.cs b/DiscImageChef.Tests/Checksums/SHA256.cs index 551bc1c7d..6d9c99d28 100644 --- a/DiscImageChef.Tests/Checksums/SHA256.cs +++ b/DiscImageChef.Tests/Checksums/SHA256.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA256EmptyFile() { - SHA256Context ctx = new SHA256Context(); + Sha256Context ctx = new Sha256Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); @@ -64,7 +64,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA256Context ctx = new SHA256Context(); + Sha256Context ctx = new Sha256Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); @@ -79,7 +79,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA256Context ctx = new SHA256Context(); + Sha256Context ctx = new Sha256Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -89,7 +89,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA256RandomFile() { - SHA256Context ctx = new SHA256Context(); + Sha256Context ctx = new Sha256Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA256Context ctx = new SHA256Context(); + Sha256Context ctx = new Sha256Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); @@ -119,7 +119,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA256Context ctx = new SHA256Context(); + Sha256Context ctx = new Sha256Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/SHA384.cs b/DiscImageChef.Tests/Checksums/SHA384.cs index 14d19c611..895c48347 100644 --- a/DiscImageChef.Tests/Checksums/SHA384.cs +++ b/DiscImageChef.Tests/Checksums/SHA384.cs @@ -51,7 +51,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA384EmptyFile() { - SHA384Context ctx = new SHA384Context(); + Sha384Context ctx = new Sha384Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); @@ -66,7 +66,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA384Context ctx = new SHA384Context(); + Sha384Context ctx = new Sha384Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); @@ -81,7 +81,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA384Context ctx = new SHA384Context(); + Sha384Context ctx = new Sha384Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -91,7 +91,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA384RandomFile() { - SHA384Context ctx = new SHA384Context(); + Sha384Context ctx = new Sha384Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); @@ -106,7 +106,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA384Context ctx = new SHA384Context(); + Sha384Context ctx = new Sha384Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); @@ -121,7 +121,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA384Context ctx = new SHA384Context(); + Sha384Context ctx = new Sha384Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Checksums/SHA512.cs b/DiscImageChef.Tests/Checksums/SHA512.cs index d91eac0d1..11a86d309 100644 --- a/DiscImageChef.Tests/Checksums/SHA512.cs +++ b/DiscImageChef.Tests/Checksums/SHA512.cs @@ -53,7 +53,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA512EmptyFile() { - SHA512Context ctx = new SHA512Context(); + Sha512Context ctx = new Sha512Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); Assert.AreEqual(ExpectedEmpty, result); @@ -68,7 +68,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA512Context ctx = new SHA512Context(); + Sha512Context ctx = new Sha512Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedEmpty, result); @@ -83,7 +83,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA512Context ctx = new SHA512Context(); + Sha512Context ctx = new Sha512Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); @@ -93,7 +93,7 @@ namespace DiscImageChef.Tests.Checksums [Test] public void SHA512RandomFile() { - SHA512Context ctx = new SHA512Context(); + Sha512Context ctx = new Sha512Context(); ctx.Init(); byte[] result = ctx.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); Assert.AreEqual(ExpectedRandom, result); @@ -108,7 +108,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA512Context ctx = new SHA512Context(); + Sha512Context ctx = new Sha512Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedRandom, result); @@ -123,7 +123,7 @@ namespace DiscImageChef.Tests.Checksums fs.Read(data, 0, 1048576); fs.Close(); fs.Dispose(); - SHA512Context ctx = new SHA512Context(); + Sha512Context ctx = new Sha512Context(); ctx.Init(); ctx.Update(data); byte[] result = ctx.Final(); diff --git a/DiscImageChef.Tests/Devices/IomegaJaz.cs b/DiscImageChef.Tests/Devices/IomegaJaz.cs index 0bc050eee..bc4e33aa0 100644 --- a/DiscImageChef.Tests/Devices/IomegaJaz.cs +++ b/DiscImageChef.Tests/Devices/IomegaJaz.cs @@ -29,7 +29,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Devices @@ -55,9 +55,9 @@ namespace DiscImageChef.Tests.Devices filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); } } } diff --git a/DiscImageChef.Tests/Devices/LS120.cs b/DiscImageChef.Tests/Devices/LS120.cs index 8ca40f0d5..bbb3e54b6 100644 --- a/DiscImageChef.Tests/Devices/LS120.cs +++ b/DiscImageChef.Tests/Devices/LS120.cs @@ -29,7 +29,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Devices @@ -55,9 +55,9 @@ namespace DiscImageChef.Tests.Devices filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); } } } diff --git a/DiscImageChef.Tests/Devices/PocketZip.cs b/DiscImageChef.Tests/Devices/PocketZip.cs index 950b25e0e..0d31c96a3 100644 --- a/DiscImageChef.Tests/Devices/PocketZip.cs +++ b/DiscImageChef.Tests/Devices/PocketZip.cs @@ -29,7 +29,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Devices @@ -55,9 +55,9 @@ namespace DiscImageChef.Tests.Devices filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); } } } diff --git a/DiscImageChef.Tests/Filesystems/ADFS.cs b/DiscImageChef.Tests/Filesystems/ADFS.cs index 4a4eb4d07..5b0d1cd23 100644 --- a/DiscImageChef.Tests/Filesystems/ADFS.cs +++ b/DiscImageChef.Tests/Filesystems/ADFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -76,15 +76,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new AcornADFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/AFFS.cs b/DiscImageChef.Tests/Filesystems/AFFS.cs index 8f10c6312..42bcb0528 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,15 +64,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new AmigaDOSPlugin(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs b/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs index d14523ee4..9d01b18f1 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS2_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs2_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs b/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs index 9ba148543..212c73bad 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs b/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs index ecdd2ca17..79aad4dc2 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS_MBR_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_mbr_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs b/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs index a61a00d1a..aeac09ccf 100644 --- a/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AFFS_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -71,10 +70,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "affs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AFS.cs b/DiscImageChef.Tests/Filesystems/AFS.cs index 7f16a1970..440448bbb 100644 --- a/DiscImageChef.Tests/Filesystems/AFS.cs +++ b/DiscImageChef.Tests/Filesystems/AFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -76,15 +76,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/AFS_MBR.cs b/DiscImageChef.Tests/Filesystems/AFS_MBR.cs index fccf3429f..e66905acc 100644 --- a/DiscImageChef.Tests/Filesystems/AFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/AFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "afs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AOFS.cs b/DiscImageChef.Tests/Filesystems/AOFS.cs index e3c344b3a..5fbb0f548 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,15 +64,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new AmigaDOSPlugin(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs b/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs index fb1ab9923..30996b055 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs b/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs index 800372818..51a702aa7 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS_MBR_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs_mbr_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs b/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs index 853d4e39a..fab5828d0 100644 --- a/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/AOFS_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -63,10 +62,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "aofs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AmigaDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/Atheos_MBR.cs b/DiscImageChef.Tests/Filesystems/Atheos_MBR.cs index 0cb826c37..ad751201e 100644 --- a/DiscImageChef.Tests/Filesystems/Atheos_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/Atheos_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "atheos_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AtheOS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/BeFS.cs b/DiscImageChef.Tests/Filesystems/BeFS.cs index cbc68f9fb..7456d2131 100644 --- a/DiscImageChef.Tests/Filesystems/BeFS.cs +++ b/DiscImageChef.Tests/Filesystems/BeFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -66,15 +66,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.BeFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/BeFS_APM.cs b/DiscImageChef.Tests/Filesystems/BeFS_APM.cs index c104f9fc1..7d7d92e0c 100644 --- a/DiscImageChef.Tests/Filesystems/BeFS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/BeFS_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "befs_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.BeFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs b/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs index 49200a6dd..02c45cf3b 100644 --- a/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/BeFS_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "befs_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.BeFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs b/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs index e2fd3c704..0d3c13742 100644 --- a/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/BeFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -63,10 +62,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "befs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.BeFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/COHERENT.cs b/DiscImageChef.Tests/Filesystems/COHERENT.cs index 533307fc6..dd9bdf832 100644 --- a/DiscImageChef.Tests/Filesystems/COHERENT.cs +++ b/DiscImageChef.Tests/Filesystems/COHERENT.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -71,15 +71,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/COHERENT_MBR.cs b/DiscImageChef.Tests/Filesystems/COHERENT_MBR.cs index 14f8c1c21..db371539d 100644 --- a/DiscImageChef.Tests/Filesystems/COHERENT_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/COHERENT_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "coherent_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/DTFS.cs b/DiscImageChef.Tests/Filesystems/DTFS.cs index 6e9370f1f..ede5f855d 100644 --- a/DiscImageChef.Tests/Filesystems/DTFS.cs +++ b/DiscImageChef.Tests/Filesystems/DTFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -72,15 +72,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/DTFS_MBR.cs b/DiscImageChef.Tests/Filesystems/DTFS_MBR.cs index a2e1d26a3..05197dc2f 100644 --- a/DiscImageChef.Tests/Filesystems/DTFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/DTFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "dtfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/EAFS.cs b/DiscImageChef.Tests/Filesystems/EAFS.cs index d30369c32..fbaee57fc 100644 --- a/DiscImageChef.Tests/Filesystems/EAFS.cs +++ b/DiscImageChef.Tests/Filesystems/EAFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -76,15 +76,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/EAFS_MBR.cs b/DiscImageChef.Tests/Filesystems/EAFS_MBR.cs index b8d5f4950..e2800f913 100644 --- a/DiscImageChef.Tests/Filesystems/EAFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/EAFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "eafs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/F2FS.cs b/DiscImageChef.Tests/Filesystems/F2FS.cs index 012ff0e71..b75076f20 100644 --- a/DiscImageChef.Tests/Filesystems/F2FS.cs +++ b/DiscImageChef.Tests/Filesystems/F2FS.cs @@ -32,8 +32,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.Partitions; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -63,11 +62,11 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "f2fs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + PartitionPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List<Partition> partitions, 0), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.F2FS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT12.cs b/DiscImageChef.Tests/Filesystems/FAT12.cs index 87f94b567..87ea23566 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -1713,15 +1713,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new FAT(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/FAT12_APM.cs b/DiscImageChef.Tests/Filesystems/FAT12_APM.cs index 61fd97b63..f66bfb639 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat12_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs index 585dd697b..1f2781637 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat12_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs index 46fabfcec..959f8ed6b 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -132,10 +131,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat12_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new FAT(); Assert.AreEqual(true, fs.Identify(image, partitions[0]), testfiles[i]); diff --git a/DiscImageChef.Tests/Filesystems/FAT16.cs b/DiscImageChef.Tests/Filesystems/FAT16.cs index 708ce4094..e4fc4f786 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -120,15 +120,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new FAT(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/FAT16_APM.cs b/DiscImageChef.Tests/Filesystems/FAT16_APM.cs index 38f180ece..2357af0e4 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs b/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs index 9c1bba07c..ab2c90beb 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_atari", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs index 9c8111a8c..c772ab0ba 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs index f41bfd0fb..555f20ea5 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -134,10 +133,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new FAT(); Assert.AreEqual(true, fs.Identify(image, partitions[0]), testfiles[i]); diff --git a/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs b/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs index 6d242e626..4ef785765 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT32_APM.cs b/DiscImageChef.Tests/Filesystems/FAT32_APM.cs index 3a2e3a146..a4724a6a6 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat32_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs index 3b7391f97..8c272479c 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat32_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs index 2531b4c7a..c7f8a1664 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -98,10 +97,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat32_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new FAT(); Assert.AreEqual(true, fs.Identify(image, partitions[0]), testfiles[i]); diff --git a/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs b/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs index e0e00b2d3..251cba440 100644 --- a/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HAMMER_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -63,10 +62,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hammer_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.HAMMER(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFS.cs b/DiscImageChef.Tests/Filesystems/HFS.cs index a81e03ac7..5fe9c3f89 100644 --- a/DiscImageChef.Tests/Filesystems/HFS.cs +++ b/DiscImageChef.Tests/Filesystems/HFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -76,15 +76,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new AppleHFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs b/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs index 317f53092..b3174f5f2 100644 --- a/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs +++ b/DiscImageChef.Tests/Filesystems/HFSPlus_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -98,10 +97,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsplus_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs b/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs index 03f024b8d..9ed0170cc 100644 --- a/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/HFSPlus_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsplus_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs b/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs index 88e0e9817..3527ea8ac 100644 --- a/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HFSPlus_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -77,10 +76,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsplus_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFSX_APM.cs b/DiscImageChef.Tests/Filesystems/HFSX_APM.cs index 7bf0ec8af..12a34e6ea 100644 --- a/DiscImageChef.Tests/Filesystems/HFSX_APM.cs +++ b/DiscImageChef.Tests/Filesystems/HFSX_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -72,10 +71,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsx_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs b/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs index 62d6f0aed..929c47e1a 100644 --- a/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/HFSX_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsx_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs b/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs index 3806c33ee..e228abbef 100644 --- a/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HFSX_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -69,10 +68,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfsx_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFSPlus(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFS_APM.cs b/DiscImageChef.Tests/Filesystems/HFS_APM.cs index 291431cb7..016d69746 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -103,10 +102,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFS_CDROM.cs b/DiscImageChef.Tests/Filesystems/HFS_CDROM.cs index 4dd2d0de6..2a1edfce9 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_CDROM.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_CDROM.cs @@ -31,7 +31,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -69,8 +69,8 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFS_MBR.cs b/DiscImageChef.Tests/Filesystems/HFS_MBR.cs index eeb161939..62c4826a8 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -66,10 +65,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HFS_RDB.cs b/DiscImageChef.Tests/Filesystems/HFS_RDB.cs index 25238202a..317bb1231 100644 --- a/DiscImageChef.Tests/Filesystems/HFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/HFS_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hfs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.AppleHFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/HPFS.cs b/DiscImageChef.Tests/Filesystems/HPFS.cs index 5ca7e6b83..f20a9c494 100644 --- a/DiscImageChef.Tests/Filesystems/HPFS.cs +++ b/DiscImageChef.Tests/Filesystems/HPFS.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -83,10 +82,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "hpfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.HPFS(); Assert.AreEqual(true, fs.Identify(image, partitions[0]), testfiles[i]); diff --git a/DiscImageChef.Tests/Filesystems/HTFS.cs b/DiscImageChef.Tests/Filesystems/HTFS.cs index ba0bf2795..018205163 100644 --- a/DiscImageChef.Tests/Filesystems/HTFS.cs +++ b/DiscImageChef.Tests/Filesystems/HTFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -72,15 +72,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/HTFS_MBR.cs b/DiscImageChef.Tests/Filesystems/HTFS_MBR.cs index f3ba19767..341cea8cc 100644 --- a/DiscImageChef.Tests/Filesystems/HTFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/HTFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "htfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/ISO9660.cs b/DiscImageChef.Tests/Filesystems/ISO9660.cs index 902c86611..f56e2b0d9 100644 --- a/DiscImageChef.Tests/Filesystems/ISO9660.cs +++ b/DiscImageChef.Tests/Filesystems/ISO9660.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -123,15 +123,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.ISO9660.ISO9660(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/JFS2.cs b/DiscImageChef.Tests/Filesystems/JFS2.cs index 1e42702e1..838f1d476 100644 --- a/DiscImageChef.Tests/Filesystems/JFS2.cs +++ b/DiscImageChef.Tests/Filesystems/JFS2.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -63,10 +62,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "jfs2", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.JFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/LisaFS.cs b/DiscImageChef.Tests/Filesystems/LisaFS.cs index f220c4358..e0c9ac496 100644 --- a/DiscImageChef.Tests/Filesystems/LisaFS.cs +++ b/DiscImageChef.Tests/Filesystems/LisaFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -88,15 +88,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new DiskCopy42(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.LisaFS.LisaFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/Locus.cs b/DiscImageChef.Tests/Filesystems/Locus.cs index 2c931eaa5..b7417b2d8 100644 --- a/DiscImageChef.Tests/Filesystems/Locus.cs +++ b/DiscImageChef.Tests/Filesystems/Locus.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -66,15 +66,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.Locus(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/MFS.cs b/DiscImageChef.Tests/Filesystems/MFS.cs index ff648e9ed..898839210 100644 --- a/DiscImageChef.Tests/Filesystems/MFS.cs +++ b/DiscImageChef.Tests/Filesystems/MFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -73,15 +73,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.AppleMFS.AppleMFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/MINIXv1.cs b/DiscImageChef.Tests/Filesystems/MINIXv1.cs index 160fcc5b2..04c4be0c0 100644 --- a/DiscImageChef.Tests/Filesystems/MINIXv1.cs +++ b/DiscImageChef.Tests/Filesystems/MINIXv1.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -67,15 +67,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new MinixFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/MINIXv1_MBR.cs b/DiscImageChef.Tests/Filesystems/MINIXv1_MBR.cs index ce9bf462e..9df6de36a 100644 --- a/DiscImageChef.Tests/Filesystems/MINIXv1_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/MINIXv1_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -60,10 +59,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "minixv1_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.MinixFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/MINIXv2.cs b/DiscImageChef.Tests/Filesystems/MINIXv2.cs index 8a47f7969..fdd03b225 100644 --- a/DiscImageChef.Tests/Filesystems/MINIXv2.cs +++ b/DiscImageChef.Tests/Filesystems/MINIXv2.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -67,15 +67,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new MinixFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/MINIXv2_MBR.cs b/DiscImageChef.Tests/Filesystems/MINIXv2_MBR.cs index 664c630fd..cdc836ab4 100644 --- a/DiscImageChef.Tests/Filesystems/MINIXv2_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/MINIXv2_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -60,10 +59,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "minixv2_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.MinixFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/MINIXv3.cs b/DiscImageChef.Tests/Filesystems/MINIXv3.cs index b28c24b49..f94cb0cc3 100644 --- a/DiscImageChef.Tests/Filesystems/MINIXv3.cs +++ b/DiscImageChef.Tests/Filesystems/MINIXv3.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -67,15 +67,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new MinixFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/MINIXv3_MBR.cs b/DiscImageChef.Tests/Filesystems/MINIXv3_MBR.cs index 3c55da12a..255b633ff 100644 --- a/DiscImageChef.Tests/Filesystems/MINIXv3_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/MINIXv3_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -60,10 +59,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "minixv3_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.MinixFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/NILFS2.cs b/DiscImageChef.Tests/Filesystems/NILFS2.cs index 91c5aa8e5..68da239bb 100644 --- a/DiscImageChef.Tests/Filesystems/NILFS2.cs +++ b/DiscImageChef.Tests/Filesystems/NILFS2.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "nilfs2", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.NILFS2(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs b/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs index a0bf818af..9ee473143 100644 --- a/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/NTFS_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ntfs_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.NTFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs b/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs index 33387b0b2..a210c4eda 100644 --- a/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/NTFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -72,10 +71,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ntfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.NTFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs b/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs index 42d58d8a3..49c73f7f0 100644 --- a/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/PFS3_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "pfs3", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.PFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs b/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs index 169a381de..aecc82a5f 100644 --- a/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/ProDOS_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -70,10 +69,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "prodos_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.ProDOSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/QNX4.cs b/DiscImageChef.Tests/Filesystems/QNX4.cs index 5d329beb3..d23388f3d 100644 --- a/DiscImageChef.Tests/Filesystems/QNX4.cs +++ b/DiscImageChef.Tests/Filesystems/QNX4.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,15 +62,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.QNX4(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/QNX4_MBR.cs b/DiscImageChef.Tests/Filesystems/QNX4_MBR.cs index 7a36b0a33..3e96f42d2 100644 --- a/DiscImageChef.Tests/Filesystems/QNX4_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/QNX4_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -58,10 +57,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "qnx4_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.QNX4(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/ReFS_MBR.cs b/DiscImageChef.Tests/Filesystems/ReFS_MBR.cs index 99aa4d7b9..05c898ccd 100644 --- a/DiscImageChef.Tests/Filesystems/ReFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/ReFS_MBR.cs @@ -32,7 +32,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "refs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); int part = -1; for(int j = 0; j < partitions.Count; j++) diff --git a/DiscImageChef.Tests/Filesystems/Reiser3.cs b/DiscImageChef.Tests/Filesystems/Reiser3.cs index 8057a123a..5a3c6217b 100644 --- a/DiscImageChef.Tests/Filesystems/Reiser3.cs +++ b/DiscImageChef.Tests/Filesystems/Reiser3.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -60,10 +59,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "reiser3", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.Reiser(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/Reiser4.cs b/DiscImageChef.Tests/Filesystems/Reiser4.cs index 508820f58..0f3d8323f 100644 --- a/DiscImageChef.Tests/Filesystems/Reiser4.cs +++ b/DiscImageChef.Tests/Filesystems/Reiser4.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "reiser4", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.Reiser4(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/SFS_MBR.cs b/DiscImageChef.Tests/Filesystems/SFS_MBR.cs index 4457b954c..63deb352f 100644 --- a/DiscImageChef.Tests/Filesystems/SFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/SFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs b/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs index 51a37df50..c04861d30 100644 --- a/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/SFS_MBR_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_mbr_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/SFS_RDB.cs b/DiscImageChef.Tests/Filesystems/SFS_RDB.cs index 672c028e4..372dd3884 100644 --- a/DiscImageChef.Tests/Filesystems/SFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/SFS_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "sfs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/SysV.cs b/DiscImageChef.Tests/Filesystems/SysV.cs index 431786c0f..c49978a47 100644 --- a/DiscImageChef.Tests/Filesystems/SysV.cs +++ b/DiscImageChef.Tests/Filesystems/SysV.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -77,15 +77,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/SysV_MBR.cs b/DiscImageChef.Tests/Filesystems/SysV_MBR.cs index f49a5c098..c7b084cb9 100644 --- a/DiscImageChef.Tests/Filesystems/SysV_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/SysV_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -65,10 +64,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "s5fs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/SysV_RDB.cs b/DiscImageChef.Tests/Filesystems/SysV_RDB.cs index e20251902..d6f429eb7 100644 --- a/DiscImageChef.Tests/Filesystems/SysV_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/SysV_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "s5fs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UDF.cs b/DiscImageChef.Tests/Filesystems/UDF.cs index 6887d0d72..c1a299fd7 100644 --- a/DiscImageChef.Tests/Filesystems/UDF.cs +++ b/DiscImageChef.Tests/Filesystems/UDF.cs @@ -31,7 +31,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -102,16 +101,16 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "udf", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.UDF(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/UFS.cs b/DiscImageChef.Tests/Filesystems/UFS.cs index d604b5dd2..cc0b0bb3b 100644 --- a/DiscImageChef.Tests/Filesystems/UFS.cs +++ b/DiscImageChef.Tests/Filesystems/UFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -75,15 +75,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/UFS_APM.cs b/DiscImageChef.Tests/Filesystems/UFS_APM.cs index 04a597ed1..b14e3dc10 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_APM.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -72,10 +71,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UFS_MBR.cs b/DiscImageChef.Tests/Filesystems/UFS_MBR.cs index 24bcaab6e..4da109704 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -105,10 +104,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs b/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs index 1b8387256..21e7219a3 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_NeXT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -68,10 +67,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_next", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UFS_NeXT_Floppy.cs b/DiscImageChef.Tests/Filesystems/UFS_NeXT_Floppy.cs index 623fc2b51..d30b2215b 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_NeXT_Floppy.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_NeXT_Floppy.cs @@ -31,7 +31,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -71,8 +71,8 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UFS_RDB.cs b/DiscImageChef.Tests/Filesystems/UFS_RDB.cs index 63d29ff70..a7b70823e 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs b/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs index 2df34686c..884806f5a 100644 --- a/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs +++ b/DiscImageChef.Tests/Filesystems/UFS_Suni86.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ufs_suni86", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.FFSPlugin(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UNIXBFS.cs b/DiscImageChef.Tests/Filesystems/UNIXBFS.cs index 6d8c65c5e..a816ca386 100644 --- a/DiscImageChef.Tests/Filesystems/UNIXBFS.cs +++ b/DiscImageChef.Tests/Filesystems/UNIXBFS.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -70,15 +70,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.BFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs b/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs index 19cb7c2f8..3874a23f7 100644 --- a/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/UNIXBFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -60,10 +59,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "unixbfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.BFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs b/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs index 0176c5c07..8c456bf86 100644 --- a/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs +++ b/DiscImageChef.Tests/Filesystems/UNIXBFS_RDB.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "unixbfs_rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.BFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/XENIX.cs b/DiscImageChef.Tests/Filesystems/XENIX.cs index 075546fe5..e083fd753 100644 --- a/DiscImageChef.Tests/Filesystems/XENIX.cs +++ b/DiscImageChef.Tests/Filesystems/XENIX.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -72,15 +72,15 @@ namespace DiscImageChef.Tests.Filesystems filter.Open(location); ImagePlugin image = new ZZZRawImage(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/XENIX_MBR.cs b/DiscImageChef.Tests/Filesystems/XENIX_MBR.cs index b70e89615..23a42b00f 100644 --- a/DiscImageChef.Tests/Filesystems/XENIX_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/XENIX_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -64,10 +63,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "xenix_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.SysVfs(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/XFS_MBR.cs b/DiscImageChef.Tests/Filesystems/XFS_MBR.cs index 31a62fd14..3f61fa757 100644 --- a/DiscImageChef.Tests/Filesystems/XFS_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/XFS_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "xfs_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.XFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/ZFS.cs b/DiscImageChef.Tests/Filesystems/ZFS.cs index 90f148bd3..ee536e29b 100644 --- a/DiscImageChef.Tests/Filesystems/ZFS.cs +++ b/DiscImageChef.Tests/Filesystems/ZFS.cs @@ -31,7 +31,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -61,16 +60,16 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "zfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.ZFS(); Partition wholePart = new Partition { Name = "Whole device", - Length = image.ImageInfo.sectors, - Size = image.ImageInfo.sectors * image.ImageInfo.sectorSize + Length = image.ImageInfo.Sectors, + Size = image.ImageInfo.Sectors * image.ImageInfo.SectorSize }; Assert.AreEqual(true, fs.Identify(image, wholePart), testfiles[i]); fs.GetInformation(image, wholePart, out string information); diff --git a/DiscImageChef.Tests/Filesystems/btrfs.cs b/DiscImageChef.Tests/Filesystems/btrfs.cs index 4ef6ecc30..5f51b2881 100644 --- a/DiscImageChef.Tests/Filesystems/btrfs.cs +++ b/DiscImageChef.Tests/Filesystems/btrfs.cs @@ -32,8 +32,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.Partitions; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -63,11 +62,11 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "btrfs", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + PartitionPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List<Partition> partitions, 0), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.BTRFS(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/exFAT_APM.cs b/DiscImageChef.Tests/Filesystems/exFAT_APM.cs index 620d1cd0b..23ca382dd 100644 --- a/DiscImageChef.Tests/Filesystems/exFAT_APM.cs +++ b/DiscImageChef.Tests/Filesystems/exFAT_APM.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "exfat_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.exFAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs b/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs index e58a92cc6..881067c9e 100644 --- a/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/exFAT_GPT.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "exfat_gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.exFAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs b/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs index 37255e9e9..768e11b5a 100644 --- a/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/exFAT_MBR.cs @@ -32,7 +32,6 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -62,10 +61,10 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "exfat_mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Filesystem fs = new DiscImageChef.Filesystems.exFAT(); int part = -1; diff --git a/DiscImageChef.Tests/Filesystems/ext2.cs b/DiscImageChef.Tests/Filesystems/ext2.cs index d90db602d..02bd067c3 100644 --- a/DiscImageChef.Tests/Filesystems/ext2.cs +++ b/DiscImageChef.Tests/Filesystems/ext2.cs @@ -32,8 +32,7 @@ using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.Partitions; using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems @@ -73,11 +72,11 @@ namespace DiscImageChef.Tests.Filesystems string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "ext2", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new MBR(); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + PartitionPlugin parts = new MBR(); Assert.AreEqual(true, parts.GetInformation(image, out List<Partition> partitions, 0), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.ext2FS(); int part = -1; diff --git a/DiscImageChef.Tests/Filters/AppleDoubleDave.cs b/DiscImageChef.Tests/Filters/AppleDoubleDave.cs index 2e8fcf8ab..e256a67b4 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleDave.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleDave.cs @@ -53,12 +53,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -96,7 +96,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -113,7 +113,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleDoubleDos.cs b/DiscImageChef.Tests/Filters/AppleDoubleDos.cs index 60c406486..8d7792f63 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleDos.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleDos.cs @@ -52,12 +52,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -95,7 +95,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -112,7 +112,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleDoubleNetatalk.cs b/DiscImageChef.Tests/Filters/AppleDoubleNetatalk.cs index 04956fc0f..2ee2c7300 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleNetatalk.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleNetatalk.cs @@ -53,12 +53,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -96,7 +96,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -113,7 +113,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleDoubleOsX.cs b/DiscImageChef.Tests/Filters/AppleDoubleOsX.cs index d48c7dd45..5f6e5b8a2 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleOsX.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleOsX.cs @@ -52,12 +52,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -95,7 +95,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -112,7 +112,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleDoubleProDos.cs b/DiscImageChef.Tests/Filters/AppleDoubleProDos.cs index 72e209133..19e0f6b20 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleProDos.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleProDos.cs @@ -52,12 +52,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -95,7 +95,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -112,7 +112,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleDoubleUnAr.cs b/DiscImageChef.Tests/Filters/AppleDoubleUnAr.cs index ad4a73e3c..6a8316e19 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleUnAr.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleUnAr.cs @@ -52,12 +52,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -95,7 +95,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -112,7 +112,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleDoubleUnix.cs b/DiscImageChef.Tests/Filters/AppleDoubleUnix.cs index 64b9909b3..fe0989588 100644 --- a/DiscImageChef.Tests/Filters/AppleDoubleUnix.cs +++ b/DiscImageChef.Tests/Filters/AppleDoubleUnix.cs @@ -52,12 +52,12 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); - ctx = new MD5Context(); + ctx = new Md5Context(); ctx.Init(); result = ctx.File(sidecar, out tmp); Assert.AreEqual(ExpectedSidecar, result); @@ -95,7 +95,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -112,7 +112,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/AppleSingle.cs b/DiscImageChef.Tests/Filters/AppleSingle.cs index cf2bf35f9..77a94ab5b 100644 --- a/DiscImageChef.Tests/Filters/AppleSingle.cs +++ b/DiscImageChef.Tests/Filters/AppleSingle.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); @@ -87,7 +87,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/BZip2.cs b/DiscImageChef.Tests/Filters/BZip2.cs index 0e3412b87..d412606c1 100644 --- a/DiscImageChef.Tests/Filters/BZip2.cs +++ b/DiscImageChef.Tests/Filters/BZip2.cs @@ -50,7 +50,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); byte[] result = ctx.File(location); Assert.AreEqual(ExpectedFile, result); @@ -88,7 +88,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedContents, result); diff --git a/DiscImageChef.Tests/Filters/GZip.cs b/DiscImageChef.Tests/Filters/GZip.cs index 098e622f0..fa26dc28e 100644 --- a/DiscImageChef.Tests/Filters/GZip.cs +++ b/DiscImageChef.Tests/Filters/GZip.cs @@ -50,7 +50,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); byte[] result = ctx.File(location); Assert.AreEqual(ExpectedFile, result); @@ -88,7 +88,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedContents, result); diff --git a/DiscImageChef.Tests/Filters/LZip.cs b/DiscImageChef.Tests/Filters/LZip.cs index a49ef79a5..16d5bdaee 100644 --- a/DiscImageChef.Tests/Filters/LZip.cs +++ b/DiscImageChef.Tests/Filters/LZip.cs @@ -50,7 +50,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); byte[] result = ctx.File(location); Assert.AreEqual(ExpectedFile, result); @@ -88,7 +88,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedContents, result); diff --git a/DiscImageChef.Tests/Filters/MacBinary1.cs b/DiscImageChef.Tests/Filters/MacBinary1.cs index d2ed61c76..e23f3855f 100644 --- a/DiscImageChef.Tests/Filters/MacBinary1.cs +++ b/DiscImageChef.Tests/Filters/MacBinary1.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); @@ -87,7 +87,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/MacBinary2.cs b/DiscImageChef.Tests/Filters/MacBinary2.cs index 7a5ad788d..c6686c50e 100644 --- a/DiscImageChef.Tests/Filters/MacBinary2.cs +++ b/DiscImageChef.Tests/Filters/MacBinary2.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); @@ -87,7 +87,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/MacBinary3.cs b/DiscImageChef.Tests/Filters/MacBinary3.cs index 2705ff929..d17d5d80d 100644 --- a/DiscImageChef.Tests/Filters/MacBinary3.cs +++ b/DiscImageChef.Tests/Filters/MacBinary3.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(location, out byte[] tmp); Assert.AreEqual(ExpectedFile, result); @@ -87,7 +87,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -104,7 +104,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/PCExchange.cs b/DiscImageChef.Tests/Filters/PCExchange.cs index 0dc8fc2c7..5bf6db368 100644 --- a/DiscImageChef.Tests/Filters/PCExchange.cs +++ b/DiscImageChef.Tests/Filters/PCExchange.cs @@ -49,7 +49,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.File(Path.Combine(Consts.TestFilesRoot, "filters", "pcexchange", "FINDER.DAT"), out byte[] tmp); @@ -88,7 +88,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedContents, result); @@ -105,7 +105,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); string result = ctx.Data(data, out byte[] tmp); Assert.AreEqual(ExpectedResource, result); diff --git a/DiscImageChef.Tests/Filters/XZ.cs b/DiscImageChef.Tests/Filters/XZ.cs index 59d4d4684..0aa8865ad 100644 --- a/DiscImageChef.Tests/Filters/XZ.cs +++ b/DiscImageChef.Tests/Filters/XZ.cs @@ -50,7 +50,7 @@ namespace DiscImageChef.Tests.Filters [Test] public void CheckCorrectFile() { - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); byte[] result = ctx.File(location); Assert.AreEqual(ExpectedFile, result); @@ -88,7 +88,7 @@ namespace DiscImageChef.Tests.Filters str.Close(); str.Dispose(); filter.Close(); - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); ctx.Data(data, out byte[] result); Assert.AreEqual(ExpectedContents, result); diff --git a/DiscImageChef.Tests/Images/2MG.cs b/DiscImageChef.Tests/Images/2MG.cs index f8359aa83..e42ecf203 100644 --- a/DiscImageChef.Tests/Images/2MG.cs +++ b/DiscImageChef.Tests/Images/2MG.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -68,32 +68,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "2mg", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.Apple2MG(); + ImagePlugin image = new DiscImageChef.DiscImages.Apple2Mg(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Images/Anex86.cs b/DiscImageChef.Tests/Images/Anex86.cs index 409c7046c..78bb71bf7 100644 --- a/DiscImageChef.Tests/Images/Anex86.cs +++ b/DiscImageChef.Tests/Images/Anex86.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -72,32 +72,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "anex86", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.Anex86(); + ImagePlugin image = new DiscImageChef.DiscImages.Anex86(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Images/CisCopy.cs b/DiscImageChef.Tests/Images/CisCopy.cs index 2362b033d..20373ccdb 100644 --- a/DiscImageChef.Tests/Images/CisCopy.cs +++ b/DiscImageChef.Tests/Images/CisCopy.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -86,32 +86,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "ciscopy", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.CisCopy(); + ImagePlugin image = new DiscImageChef.DiscImages.CisCopy(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Images/CopyQM.cs b/DiscImageChef.Tests/Images/CopyQM.cs index 71ca39ba2..049f5af47 100644 --- a/DiscImageChef.Tests/Images/CopyQM.cs +++ b/DiscImageChef.Tests/Images/CopyQM.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -70,32 +70,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "copyqm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.CopyQM(); + ImagePlugin image = new DiscImageChef.DiscImages.CopyQm(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Images/D88.cs b/DiscImageChef.Tests/Images/D88.cs index 59edaeeb0..2912f0448 100644 --- a/DiscImageChef.Tests/Images/D88.cs +++ b/DiscImageChef.Tests/Images/D88.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -88,32 +88,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "d88", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.D88(); + ImagePlugin image = new DiscImageChef.DiscImages.D88(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Images/DART.cs b/DiscImageChef.Tests/Images/DART.cs index 8238a71da..49fe0c98b 100644 --- a/DiscImageChef.Tests/Images/DART.cs +++ b/DiscImageChef.Tests/Images/DART.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -69,32 +69,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "dart", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.D88(); + ImagePlugin image = new DiscImageChef.DiscImages.D88(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Images/DiskCopy42.cs b/DiscImageChef.Tests/Images/DiskCopy42.cs index a6df8ecba..14372cd02 100644 --- a/DiscImageChef.Tests/Images/DiskCopy42.cs +++ b/DiscImageChef.Tests/Images/DiskCopy42.cs @@ -30,7 +30,7 @@ using System.IO; using DiscImageChef.Checksums; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Images @@ -89,32 +89,32 @@ namespace DiscImageChef.Tests.Images string location = Path.Combine(Consts.TestFilesRoot, "images", "", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new DiscImageChef.ImagePlugins.DiskCopy42(); + ImagePlugin image = new DiscImageChef.DiscImages.DiskCopy42(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); - Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); - Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.Sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.SectorSize, testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.MediaType, testfiles[i]); // How many sectors to read at once const uint sectorsToRead = 256; ulong doneSectors = 0; - MD5Context ctx = new MD5Context(); + Md5Context ctx = new Md5Context(); ctx.Init(); - while(doneSectors < image.ImageInfo.sectors) + while(doneSectors < image.ImageInfo.Sectors) { byte[] sector; - if((image.ImageInfo.sectors - doneSectors) >= sectorsToRead) + if((image.ImageInfo.Sectors - doneSectors) >= sectorsToRead) { sector = image.ReadSectors(doneSectors, sectorsToRead); doneSectors += sectorsToRead; } else { - sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.sectors - doneSectors)); - doneSectors += (image.ImageInfo.sectors - doneSectors); + sector = image.ReadSectors(doneSectors, (uint)(image.ImageInfo.Sectors - doneSectors)); + doneSectors += (image.ImageInfo.Sectors - doneSectors); } ctx.Update(sector); diff --git a/DiscImageChef.Tests/Partitions/Acorn.cs b/DiscImageChef.Tests/Partitions/Acorn.cs index 1a367874c..a7849516d 100644 --- a/DiscImageChef.Tests/Partitions/Acorn.cs +++ b/DiscImageChef.Tests/Partitions/Acorn.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -102,7 +101,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "acorn", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/AppleMap.cs b/DiscImageChef.Tests/Partitions/AppleMap.cs index fea0fda9e..3f797a9de 100644 --- a/DiscImageChef.Tests/Partitions/AppleMap.cs +++ b/DiscImageChef.Tests/Partitions/AppleMap.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -2006,7 +2005,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/Atari.cs b/DiscImageChef.Tests/Partitions/Atari.cs index d41f228b9..d113d2699 100644 --- a/DiscImageChef.Tests/Partitions/Atari.cs +++ b/DiscImageChef.Tests/Partitions/Atari.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -318,7 +317,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "atari", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/BSD.cs b/DiscImageChef.Tests/Partitions/BSD.cs index d8f7d675f..54006c3d5 100644 --- a/DiscImageChef.Tests/Partitions/BSD.cs +++ b/DiscImageChef.Tests/Partitions/BSD.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -393,7 +392,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "bsd", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/GPT.cs b/DiscImageChef.Tests/Partitions/GPT.cs index a75c7f5ad..11238a25c 100644 --- a/DiscImageChef.Tests/Partitions/GPT.cs +++ b/DiscImageChef.Tests/Partitions/GPT.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -160,7 +159,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "gpt", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/MBR.cs b/DiscImageChef.Tests/Partitions/MBR.cs index 5d7ccdc1d..0d7c9e1f4 100644 --- a/DiscImageChef.Tests/Partitions/MBR.cs +++ b/DiscImageChef.Tests/Partitions/MBR.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -1962,7 +1961,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "mbr", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/MINIX.cs b/DiscImageChef.Tests/Partitions/MINIX.cs index 69a9bbb31..54d6b48cc 100644 --- a/DiscImageChef.Tests/Partitions/MINIX.cs +++ b/DiscImageChef.Tests/Partitions/MINIX.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -101,7 +100,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "minix", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/PC98.cs b/DiscImageChef.Tests/Partitions/PC98.cs index 06fbd47bf..7bc9e3efa 100644 --- a/DiscImageChef.Tests/Partitions/PC98.cs +++ b/DiscImageChef.Tests/Partitions/PC98.cs @@ -30,7 +30,7 @@ using System.Collections.Generic; using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions diff --git a/DiscImageChef.Tests/Partitions/RDB.cs b/DiscImageChef.Tests/Partitions/RDB.cs index 38629139e..c926e2226 100644 --- a/DiscImageChef.Tests/Partitions/RDB.cs +++ b/DiscImageChef.Tests/Partitions/RDB.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -230,7 +229,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "rdb", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/SGI.cs b/DiscImageChef.Tests/Partitions/SGI.cs index e505c5cf0..d4b7116b1 100644 --- a/DiscImageChef.Tests/Partitions/SGI.cs +++ b/DiscImageChef.Tests/Partitions/SGI.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -223,7 +222,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "sgi", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/Sun.cs b/DiscImageChef.Tests/Partitions/Sun.cs index 263d02d88..ba289cbf6 100644 --- a/DiscImageChef.Tests/Partitions/Sun.cs +++ b/DiscImageChef.Tests/Partitions/Sun.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -152,7 +151,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "sun", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef.Tests/Partitions/VTOC.cs b/DiscImageChef.Tests/Partitions/VTOC.cs index a50707d9c..e6fcba45b 100644 --- a/DiscImageChef.Tests/Partitions/VTOC.cs +++ b/DiscImageChef.Tests/Partitions/VTOC.cs @@ -31,7 +31,6 @@ using System.IO; using DiscImageChef.CommonTypes; using DiscImageChef.DiscImages; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; using NUnit.Framework; namespace DiscImageChef.Tests.Partitions @@ -201,7 +200,7 @@ namespace DiscImageChef.Tests.Partitions string location = Path.Combine(Consts.TestFilesRoot, "partitions", "vtoc", testfiles[i]); Filter filter = new LZip(); filter.Open(location); - ImagePlugin image = new VDI(); + ImagePlugin image = new Vdi(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); List<Partition> partitions = Core.Partitions.GetAll(image); Assert.AreEqual(wanted[i].Length, partitions.Count, testfiles[i]); diff --git a/DiscImageChef/Commands/Analyze.cs b/DiscImageChef/Commands/Analyze.cs index 2d26fdc7a..e612bef5c 100644 --- a/DiscImageChef/Commands/Analyze.cs +++ b/DiscImageChef/Commands/Analyze.cs @@ -38,13 +38,13 @@ using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class Analyze { - internal static void doAnalyze(AnalyzeOptions options) + internal static void DoAnalyze(AnalyzeOptions options) { DicConsole.DebugWriteLine("Analyze command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Analyze command", "--verbose={0}", options.Verbose); @@ -81,17 +81,17 @@ namespace DiscImageChef.Commands PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - List<string> id_plugins; - Filesystem _plugin; + List<string> idPlugins; + Filesystem plugin; string information; bool checkraw = false; - ImagePlugin _imageFormat; + ImagePlugin imageFormat; try { - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); - if(_imageFormat == null) + if(imageFormat == null) { DicConsole.WriteLine("Image format not identified, not proceeding with analysis."); return; @@ -99,14 +99,14 @@ namespace DiscImageChef.Commands else { if(options.Verbose) - DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", _imageFormat.Name, - _imageFormat.PluginUUID); - else DicConsole.WriteLine("Image format identified by {0}.", _imageFormat.Name); + DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", imageFormat.Name, + imageFormat.PluginUuid); + else DicConsole.WriteLine("Image format identified by {0}.", imageFormat.Name); } try { - if(!_imageFormat.OpenImage(inputFilter)) + if(!imageFormat.OpenImage(inputFilter)) { DicConsole.WriteLine("Unable to open image format"); DicConsole.WriteLine("No error given"); @@ -115,13 +115,13 @@ namespace DiscImageChef.Commands DicConsole.DebugWriteLine("Analyze command", "Correctly opened image file."); DicConsole.DebugWriteLine("Analyze command", "Image without headers is {0} bytes.", - _imageFormat.GetImageSize()); - DicConsole.DebugWriteLine("Analyze command", "Image has {0} sectors.", _imageFormat.GetSectors()); + imageFormat.GetImageSize()); + DicConsole.DebugWriteLine("Analyze command", "Image has {0} sectors.", imageFormat.GetSectors()); DicConsole.DebugWriteLine("Analyze command", "Image identifies disk type as {0}.", - _imageFormat.GetMediaType()); + imageFormat.GetMediaType()); - Core.Statistics.AddMediaFormat(_imageFormat.GetImageFormat()); - Core.Statistics.AddMedia(_imageFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMediaFormat(imageFormat.GetImageFormat()); + Core.Statistics.AddMedia(imageFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); } catch(Exception ex) @@ -134,8 +134,8 @@ namespace DiscImageChef.Commands if(options.SearchForPartitions) { - List<Partition> partitions = Partitions.GetAll(_imageFormat); - Partitions.AddSchemesToStats(partitions); + List<Partition> partitions = Core.Partitions.GetAll(imageFormat); + Core.Partitions.AddSchemesToStats(partitions); if(partitions.Count == 0) { @@ -170,30 +170,30 @@ namespace DiscImageChef.Commands { DicConsole.WriteLine("Identifying filesystem on partition"); - Core.Filesystems.Identify(_imageFormat, out id_plugins, partitions[i]); - if(id_plugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); - else if(id_plugins.Count > 1) + Core.Filesystems.Identify(imageFormat, out idPlugins, partitions[i]); + if(idPlugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); + else if(idPlugins.Count > 1) { - DicConsole.WriteLine(string.Format("Identified by {0} plugins", id_plugins.Count)); + DicConsole.WriteLine(string.Format("Identified by {0} plugins", idPlugins.Count)); - foreach(string plugin_name in id_plugins) + foreach(string pluginName in idPlugins) { - if(plugins.PluginsList.TryGetValue(plugin_name, out _plugin)) + if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) { - DicConsole.WriteLine(string.Format("As identified by {0}.", _plugin.Name)); - _plugin.GetInformation(_imageFormat, partitions[i], out information); + DicConsole.WriteLine(string.Format("As identified by {0}.", plugin.Name)); + plugin.GetInformation(imageFormat, partitions[i], out information); DicConsole.Write(information); - Core.Statistics.AddFilesystem(_plugin.XmlFSType.Type); + Core.Statistics.AddFilesystem(plugin.XmlFSType.Type); } } } else { - plugins.PluginsList.TryGetValue(id_plugins[0], out _plugin); - DicConsole.WriteLine(string.Format("Identified by {0}.", _plugin.Name)); - _plugin.GetInformation(_imageFormat, partitions[i], out information); + plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + DicConsole.WriteLine(string.Format("Identified by {0}.", plugin.Name)); + plugin.GetInformation(imageFormat, partitions[i], out information); DicConsole.Write(information); - Core.Statistics.AddFilesystem(_plugin.XmlFSType.Type); + Core.Statistics.AddFilesystem(plugin.XmlFSType.Type); } } } @@ -205,34 +205,34 @@ namespace DiscImageChef.Commands Partition wholePart = new Partition { Name = "Whole device", - Length = _imageFormat.GetSectors(), - Size = _imageFormat.GetSectors() * _imageFormat.GetSectorSize() + Length = imageFormat.GetSectors(), + Size = imageFormat.GetSectors() * imageFormat.GetSectorSize() }; - Core.Filesystems.Identify(_imageFormat, out id_plugins, wholePart); - if(id_plugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); - else if(id_plugins.Count > 1) + Core.Filesystems.Identify(imageFormat, out idPlugins, wholePart); + if(idPlugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); + else if(idPlugins.Count > 1) { - DicConsole.WriteLine(string.Format("Identified by {0} plugins", id_plugins.Count)); + DicConsole.WriteLine(string.Format("Identified by {0} plugins", idPlugins.Count)); - foreach(string plugin_name in id_plugins) + foreach(string pluginName in idPlugins) { - if(plugins.PluginsList.TryGetValue(plugin_name, out _plugin)) + if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) { - DicConsole.WriteLine(string.Format("As identified by {0}.", _plugin.Name)); - _plugin.GetInformation(_imageFormat, wholePart, out information); + DicConsole.WriteLine(string.Format("As identified by {0}.", plugin.Name)); + plugin.GetInformation(imageFormat, wholePart, out information); DicConsole.Write(information); - Core.Statistics.AddFilesystem(_plugin.XmlFSType.Type); + Core.Statistics.AddFilesystem(plugin.XmlFSType.Type); } } } else { - plugins.PluginsList.TryGetValue(id_plugins[0], out _plugin); - DicConsole.WriteLine(string.Format("Identified by {0}.", _plugin.Name)); - _plugin.GetInformation(_imageFormat, wholePart, out information); + plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + DicConsole.WriteLine(string.Format("Identified by {0}.", plugin.Name)); + plugin.GetInformation(imageFormat, wholePart, out information); DicConsole.Write(information); - Core.Statistics.AddFilesystem(_plugin.XmlFSType.Type); + Core.Statistics.AddFilesystem(plugin.XmlFSType.Type); } } } diff --git a/DiscImageChef/Commands/Benchmark.cs b/DiscImageChef/Commands/Benchmark.cs index 4638bcd73..921ef0e12 100644 --- a/DiscImageChef/Commands/Benchmark.cs +++ b/DiscImageChef/Commands/Benchmark.cs @@ -38,7 +38,7 @@ namespace DiscImageChef.Commands { static class Benchmark { - internal static void doBenchmark(BenchmarkOptions options) + internal static void DoBenchmark(BenchmarkOptions options) { Dictionary<string, double> checksumTimes = new Dictionary<string, double>(); Core.Benchmark.InitProgressEvent += Progress.InitProgress; @@ -47,32 +47,32 @@ namespace DiscImageChef.Commands BenchmarkResults results = Core.Benchmark.Do(options.BufferSize * 1024 * 1024, options.BlockSize); - DicConsole.WriteLine("Took {0} seconds to fill buffer, {1:F3} MiB/sec.", results.fillTime, - results.fillSpeed); - DicConsole.WriteLine("Took {0} seconds to read buffer, {1:F3} MiB/sec.", results.readTime, - results.readSpeed); - DicConsole.WriteLine("Took {0} seconds to entropy buffer, {1:F3} MiB/sec.", results.entropyTime, - results.entropySpeed); + DicConsole.WriteLine("Took {0} seconds to fill buffer, {1:F3} MiB/sec.", results.FillTime, + results.FillSpeed); + DicConsole.WriteLine("Took {0} seconds to read buffer, {1:F3} MiB/sec.", results.ReadTime, + results.ReadSpeed); + DicConsole.WriteLine("Took {0} seconds to entropy buffer, {1:F3} MiB/sec.", results.EntropyTime, + results.EntropySpeed); - foreach(KeyValuePair<string, BenchmarkEntry> entry in results.entries) + foreach(KeyValuePair<string, BenchmarkEntry> entry in results.Entries) { - checksumTimes.Add(entry.Key, entry.Value.timeSpan); - DicConsole.WriteLine("Took {0} seconds to {1} buffer, {2:F3} MiB/sec.", entry.Value.timeSpan, entry.Key, - entry.Value.speed); + checksumTimes.Add(entry.Key, entry.Value.TimeSpan); + DicConsole.WriteLine("Took {0} seconds to {1} buffer, {2:F3} MiB/sec.", entry.Value.TimeSpan, entry.Key, + entry.Value.Speed); } DicConsole.WriteLine("Took {0} seconds to do all algorithms at the same time, {1} MiB/sec.", - results.totalTime, results.totalSpeed); + results.TotalTime, results.TotalSpeed); DicConsole.WriteLine("Took {0} seconds to do all algorithms sequentially, {1} MiB/sec.", - results.separateTime, results.separateSpeed); + results.SeparateTime, results.SeparateSpeed); DicConsole.WriteLine(); - DicConsole.WriteLine("Max memory used is {0} bytes", results.maxMemory); - DicConsole.WriteLine("Min memory used is {0} bytes", results.minMemory); + DicConsole.WriteLine("Max memory used is {0} bytes", results.MaxMemory); + DicConsole.WriteLine("Min memory used is {0} bytes", results.MinMemory); Core.Statistics.AddCommand("benchmark"); - Core.Statistics.AddBenchmark(checksumTimes, results.entropyTime, results.totalTime, results.separateTime, - results.maxMemory, results.minMemory); + Core.Statistics.AddBenchmark(checksumTimes, results.EntropyTime, results.TotalTime, results.SeparateTime, + results.MaxMemory, results.MinMemory); } } } \ No newline at end of file diff --git a/DiscImageChef/Commands/Checksum.cs b/DiscImageChef/Commands/Checksum.cs index 5dde7c20c..4e2d79bf0 100644 --- a/DiscImageChef/Commands/Checksum.cs +++ b/DiscImageChef/Commands/Checksum.cs @@ -35,7 +35,7 @@ using System.Collections.Generic; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; namespace DiscImageChef.Commands @@ -43,9 +43,9 @@ namespace DiscImageChef.Commands static class Checksum { // How many sectors to read at once - const uint sectorsToRead = 256; + const uint SECTORS_TO_READ = 256; - internal static void doChecksum(ChecksumOptions options) + internal static void DoChecksum(ChecksumOptions options) { DicConsole.DebugWriteLine("Checksum command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Checksum command", "--verbose={0}", options.Verbose); @@ -53,15 +53,15 @@ namespace DiscImageChef.Commands DicConsole.DebugWriteLine("Checksum command", "--whole-disc={0}", options.WholeDisc); DicConsole.DebugWriteLine("Checksum command", "--input={0}", options.InputFile); DicConsole.DebugWriteLine("Checksum command", "--adler32={0}", options.DoAdler32); - DicConsole.DebugWriteLine("Checksum command", "--crc16={0}", options.DoCRC16); - DicConsole.DebugWriteLine("Checksum command", "--crc32={0}", options.DoCRC32); - DicConsole.DebugWriteLine("Checksum command", "--crc64={0}", options.DoCRC64); - DicConsole.DebugWriteLine("Checksum command", "--md5={0}", options.DoMD5); - DicConsole.DebugWriteLine("Checksum command", "--ripemd160={0}", options.DoRIPEMD160); - DicConsole.DebugWriteLine("Checksum command", "--sha1={0}", options.DoSHA1); - DicConsole.DebugWriteLine("Checksum command", "--sha256={0}", options.DoSHA256); - DicConsole.DebugWriteLine("Checksum command", "--sha384={0}", options.DoSHA384); - DicConsole.DebugWriteLine("Checksum command", "--sha512={0}", options.DoSHA512); + DicConsole.DebugWriteLine("Checksum command", "--crc16={0}", options.DoCrc16); + DicConsole.DebugWriteLine("Checksum command", "--crc32={0}", options.DoCrc32); + DicConsole.DebugWriteLine("Checksum command", "--crc64={0}", options.DoCrc64); + DicConsole.DebugWriteLine("Checksum command", "--md5={0}", options.DoMd5); + DicConsole.DebugWriteLine("Checksum command", "--ripemd160={0}", options.DoRipemd160); + DicConsole.DebugWriteLine("Checksum command", "--sha1={0}", options.DoSha1); + DicConsole.DebugWriteLine("Checksum command", "--sha256={0}", options.DoSha256); + DicConsole.DebugWriteLine("Checksum command", "--sha384={0}", options.DoSha384); + DicConsole.DebugWriteLine("Checksum command", "--sha512={0}", options.DoSha512); DicConsole.DebugWriteLine("Checksum command", "--spamsum={0}", options.DoSpamSum); FiltersList filtersList = new FiltersList(); @@ -83,25 +83,25 @@ namespace DiscImageChef.Commands inputFormat.OpenImage(inputFilter); Core.Statistics.AddMediaFormat(inputFormat.GetImageFormat()); - Core.Statistics.AddMedia(inputFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMedia(inputFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); EnableChecksum enabledChecksums = new EnableChecksum(); if(options.DoAdler32) enabledChecksums |= EnableChecksum.Adler32; - if(options.DoCRC16) enabledChecksums |= EnableChecksum.CRC16; - if(options.DoCRC32) enabledChecksums |= EnableChecksum.CRC32; - if(options.DoCRC64) enabledChecksums |= EnableChecksum.CRC64; - if(options.DoMD5) enabledChecksums |= EnableChecksum.MD5; - if(options.DoRIPEMD160) enabledChecksums |= EnableChecksum.RIPEMD160; - if(options.DoSHA1) enabledChecksums |= EnableChecksum.SHA1; - if(options.DoSHA256) enabledChecksums |= EnableChecksum.SHA256; - if(options.DoSHA384) enabledChecksums |= EnableChecksum.SHA384; - if(options.DoSHA512) enabledChecksums |= EnableChecksum.SHA512; + if(options.DoCrc16) enabledChecksums |= EnableChecksum.Crc16; + if(options.DoCrc32) enabledChecksums |= EnableChecksum.Crc32; + if(options.DoCrc64) enabledChecksums |= EnableChecksum.Crc64; + if(options.DoMd5) enabledChecksums |= EnableChecksum.Md5; + if(options.DoRipemd160) enabledChecksums |= EnableChecksum.Ripemd160; + if(options.DoSha1) enabledChecksums |= EnableChecksum.Sha1; + if(options.DoSha256) enabledChecksums |= EnableChecksum.Sha256; + if(options.DoSha384) enabledChecksums |= EnableChecksum.Sha384; + if(options.DoSha512) enabledChecksums |= EnableChecksum.Sha512; if(options.DoSpamSum) enabledChecksums |= EnableChecksum.SpamSum; Core.Checksum mediaChecksum = null; - if(inputFormat.ImageInfo.imageHasPartitions) + if(inputFormat.ImageInfo.ImageHasPartitions) { try { @@ -141,13 +141,13 @@ namespace DiscImageChef.Commands { byte[] sector; - if((sectors - doneSectors) >= sectorsToRead) + if((sectors - doneSectors) >= SECTORS_TO_READ) { - sector = inputFormat.ReadSectors(doneSectors, sectorsToRead, + sector = inputFormat.ReadSectors(doneSectors, SECTORS_TO_READ, currentTrack.TrackSequence); DicConsole.Write("\rHashings sectors {0} to {2} of track {1}", doneSectors, - currentTrack.TrackSequence, doneSectors + sectorsToRead); - doneSectors += sectorsToRead; + currentTrack.TrackSequence, doneSectors + SECTORS_TO_READ); + doneSectors += SECTORS_TO_READ; } else { @@ -210,11 +210,11 @@ namespace DiscImageChef.Commands { byte[] sector; - if((sectors - doneSectors) >= sectorsToRead) + if((sectors - doneSectors) >= SECTORS_TO_READ) { - sector = inputFormat.ReadSectors(doneSectors, sectorsToRead); - DicConsole.Write("\rHashings sectors {0} to {1}", doneSectors, doneSectors + sectorsToRead); - doneSectors += sectorsToRead; + sector = inputFormat.ReadSectors(doneSectors, SECTORS_TO_READ); + DicConsole.Write("\rHashings sectors {0} to {1}", doneSectors, doneSectors + SECTORS_TO_READ); + doneSectors += SECTORS_TO_READ; } else { diff --git a/DiscImageChef/Commands/Compare.cs b/DiscImageChef/Commands/Compare.cs index adb020b0a..a9c3d8827 100644 --- a/DiscImageChef/Commands/Compare.cs +++ b/DiscImageChef/Commands/Compare.cs @@ -36,13 +36,13 @@ using System.Text; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class Compare { - internal static void doCompare(CompareOptions options) + internal static void DoCompare(CompareOptions options) { DicConsole.DebugWriteLine("Compare command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Compare command", "--verbose={0}", options.Verbose); @@ -78,7 +78,7 @@ namespace DiscImageChef.Commands { if(options.Verbose) DicConsole.VerboseWriteLine("Input file 1 format identified by {0} ({1}).", input1Format.Name, - input1Format.PluginUUID); + input1Format.PluginUuid); else DicConsole.WriteLine("Input file 1 format identified by {0}.", input1Format.Name); } @@ -91,7 +91,7 @@ namespace DiscImageChef.Commands { if(options.Verbose) DicConsole.VerboseWriteLine("Input file 2 format identified by {0} ({1}).", input2Format.Name, - input2Format.PluginUUID); + input2Format.PluginUuid); else DicConsole.WriteLine("Input file 2 format identified by {0}.", input2Format.Name); } @@ -100,8 +100,8 @@ namespace DiscImageChef.Commands Core.Statistics.AddMediaFormat(input1Format.GetImageFormat()); Core.Statistics.AddMediaFormat(input2Format.GetImageFormat()); - Core.Statistics.AddMedia(input1Format.ImageInfo.mediaType, false); - Core.Statistics.AddMedia(input2Format.ImageInfo.mediaType, false); + Core.Statistics.AddMedia(input1Format.ImageInfo.MediaType, false); + Core.Statistics.AddMedia(input2Format.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter1.Name); Core.Statistics.AddFilter(inputFilter2.Name); @@ -129,52 +129,52 @@ namespace DiscImageChef.Commands Dictionary<MediaTagType, byte[]> image1DiskTags = new Dictionary<MediaTagType, byte[]>(); Dictionary<MediaTagType, byte[]> image2DiskTags = new Dictionary<MediaTagType, byte[]>(); - image1Info.imageHasPartitions = input1Format.ImageHasPartitions(); + image1Info.ImageHasPartitions = input1Format.ImageHasPartitions(); #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body try { image1Sessions = input1Format.GetSessions(); } catch { } #pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body - image1Info.imageHasSessions |= image1Sessions.Count > 0; - image1Info.imageSize = input1Format.GetImageSize(); - image1Info.sectors = input1Format.GetSectors(); - image1Info.sectorSize = input1Format.GetSectorSize(); - image1Info.imageCreationTime = input1Format.GetImageCreationTime(); - image1Info.imageLastModificationTime = input1Format.GetImageLastModificationTime(); - image1Info.mediaType = input1Format.GetMediaType(); - try { image1Info.imageVersion = input1Format.GetImageVersion(); } - catch { image1Info.imageVersion = null; } - try { image1Info.imageApplication = input1Format.GetImageApplication(); } - catch { image1Info.imageApplication = null; } - try { image1Info.imageApplicationVersion = input1Format.GetImageApplicationVersion(); } - catch { image1Info.imageApplicationVersion = null; } - try { image1Info.imageCreator = input1Format.GetImageCreator(); } - catch { image1Info.imageCreator = null; } - try { image1Info.imageName = input1Format.GetImageName(); } - catch { image1Info.imageName = null; } - try { image1Info.imageComments = input1Format.GetImageComments(); } - catch { image1Info.imageComments = null; } - try { image1Info.mediaManufacturer = input1Format.GetMediaManufacturer(); } - catch { image1Info.mediaManufacturer = null; } - try { image1Info.mediaModel = input1Format.GetMediaModel(); } - catch { image1Info.mediaModel = null; } - try { image1Info.mediaSerialNumber = input1Format.GetMediaSerialNumber(); } - catch { image1Info.mediaSerialNumber = null; } - try { image1Info.mediaBarcode = input1Format.GetMediaBarcode(); } - catch { image1Info.mediaBarcode = null; } - try { image1Info.mediaPartNumber = input1Format.GetMediaPartNumber(); } - catch { image1Info.mediaPartNumber = null; } - try { image1Info.mediaSequence = input1Format.GetMediaSequence(); } - catch { image1Info.mediaSequence = 0; } - try { image1Info.lastMediaSequence = input1Format.GetLastDiskSequence(); } - catch { image1Info.lastMediaSequence = 0; } - try { image1Info.driveManufacturer = input1Format.GetDriveManufacturer(); } - catch { image1Info.driveManufacturer = null; } - try { image1Info.driveModel = input1Format.GetDriveModel(); } - catch { image1Info.driveModel = null; } - try { image1Info.driveSerialNumber = input1Format.GetDriveSerialNumber(); } - catch { image1Info.driveSerialNumber = null; } - try { image1Info.driveFirmwareRevision = input1Format.ImageInfo.driveFirmwareRevision; } - catch { image1Info.driveFirmwareRevision = null; } + image1Info.ImageHasSessions |= image1Sessions.Count > 0; + image1Info.ImageSize = input1Format.GetImageSize(); + image1Info.Sectors = input1Format.GetSectors(); + image1Info.SectorSize = input1Format.GetSectorSize(); + image1Info.ImageCreationTime = input1Format.GetImageCreationTime(); + image1Info.ImageLastModificationTime = input1Format.GetImageLastModificationTime(); + image1Info.MediaType = input1Format.GetMediaType(); + try { image1Info.ImageVersion = input1Format.GetImageVersion(); } + catch { image1Info.ImageVersion = null; } + try { image1Info.ImageApplication = input1Format.GetImageApplication(); } + catch { image1Info.ImageApplication = null; } + try { image1Info.ImageApplicationVersion = input1Format.GetImageApplicationVersion(); } + catch { image1Info.ImageApplicationVersion = null; } + try { image1Info.ImageCreator = input1Format.GetImageCreator(); } + catch { image1Info.ImageCreator = null; } + try { image1Info.ImageName = input1Format.GetImageName(); } + catch { image1Info.ImageName = null; } + try { image1Info.ImageComments = input1Format.GetImageComments(); } + catch { image1Info.ImageComments = null; } + try { image1Info.MediaManufacturer = input1Format.GetMediaManufacturer(); } + catch { image1Info.MediaManufacturer = null; } + try { image1Info.MediaModel = input1Format.GetMediaModel(); } + catch { image1Info.MediaModel = null; } + try { image1Info.MediaSerialNumber = input1Format.GetMediaSerialNumber(); } + catch { image1Info.MediaSerialNumber = null; } + try { image1Info.MediaBarcode = input1Format.GetMediaBarcode(); } + catch { image1Info.MediaBarcode = null; } + try { image1Info.MediaPartNumber = input1Format.GetMediaPartNumber(); } + catch { image1Info.MediaPartNumber = null; } + try { image1Info.MediaSequence = input1Format.GetMediaSequence(); } + catch { image1Info.MediaSequence = 0; } + try { image1Info.LastMediaSequence = input1Format.GetLastDiskSequence(); } + catch { image1Info.LastMediaSequence = 0; } + try { image1Info.DriveManufacturer = input1Format.GetDriveManufacturer(); } + catch { image1Info.DriveManufacturer = null; } + try { image1Info.DriveModel = input1Format.GetDriveModel(); } + catch { image1Info.DriveModel = null; } + try { image1Info.DriveSerialNumber = input1Format.GetDriveSerialNumber(); } + catch { image1Info.DriveSerialNumber = null; } + try { image1Info.DriveFirmwareRevision = input1Format.ImageInfo.DriveFirmwareRevision; } + catch { image1Info.DriveFirmwareRevision = null; } foreach(MediaTagType disktag in Enum.GetValues(typeof(MediaTagType))) { try @@ -187,52 +187,52 @@ namespace DiscImageChef.Commands #pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body } - image2Info.imageHasPartitions = input2Format.ImageHasPartitions(); + image2Info.ImageHasPartitions = input2Format.ImageHasPartitions(); #pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body try { image2Sessions = input2Format.GetSessions(); } catch { } #pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body - image2Info.imageHasSessions |= image2Sessions.Count > 0; - image2Info.imageSize = input2Format.GetImageSize(); - image2Info.sectors = input2Format.GetSectors(); - image2Info.sectorSize = input2Format.GetSectorSize(); - image2Info.imageCreationTime = input2Format.GetImageCreationTime(); - image2Info.imageLastModificationTime = input2Format.GetImageLastModificationTime(); - image2Info.mediaType = input2Format.GetMediaType(); - try { image2Info.imageVersion = input2Format.GetImageVersion(); } - catch { image2Info.imageVersion = null; } - try { image2Info.imageApplication = input2Format.GetImageApplication(); } - catch { image2Info.imageApplication = null; } - try { image2Info.imageApplicationVersion = input2Format.GetImageApplicationVersion(); } - catch { image2Info.imageApplicationVersion = null; } - try { image2Info.imageCreator = input2Format.GetImageCreator(); } - catch { image2Info.imageCreator = null; } - try { image2Info.imageName = input2Format.GetImageName(); } - catch { image2Info.imageName = null; } - try { image2Info.imageComments = input2Format.GetImageComments(); } - catch { image2Info.imageComments = null; } - try { image2Info.mediaManufacturer = input2Format.GetMediaManufacturer(); } - catch { image2Info.mediaManufacturer = null; } - try { image2Info.mediaModel = input2Format.GetMediaModel(); } - catch { image2Info.mediaModel = null; } - try { image2Info.mediaSerialNumber = input2Format.GetMediaSerialNumber(); } - catch { image2Info.mediaSerialNumber = null; } - try { image2Info.mediaBarcode = input2Format.GetMediaBarcode(); } - catch { image2Info.mediaBarcode = null; } - try { image2Info.mediaPartNumber = input2Format.GetMediaPartNumber(); } - catch { image2Info.mediaPartNumber = null; } - try { image2Info.mediaSequence = input2Format.GetMediaSequence(); } - catch { image2Info.mediaSequence = 0; } - try { image2Info.lastMediaSequence = input2Format.GetLastDiskSequence(); } - catch { image2Info.lastMediaSequence = 0; } - try { image2Info.driveManufacturer = input2Format.GetDriveManufacturer(); } - catch { image2Info.driveManufacturer = null; } - try { image2Info.driveModel = input2Format.GetDriveModel(); } - catch { image2Info.driveModel = null; } - try { image2Info.driveSerialNumber = input2Format.GetDriveSerialNumber(); } - catch { image2Info.driveSerialNumber = null; } - try { image2Info.driveFirmwareRevision = input2Format.ImageInfo.driveFirmwareRevision; } - catch { image2Info.driveFirmwareRevision = null; } + image2Info.ImageHasSessions |= image2Sessions.Count > 0; + image2Info.ImageSize = input2Format.GetImageSize(); + image2Info.Sectors = input2Format.GetSectors(); + image2Info.SectorSize = input2Format.GetSectorSize(); + image2Info.ImageCreationTime = input2Format.GetImageCreationTime(); + image2Info.ImageLastModificationTime = input2Format.GetImageLastModificationTime(); + image2Info.MediaType = input2Format.GetMediaType(); + try { image2Info.ImageVersion = input2Format.GetImageVersion(); } + catch { image2Info.ImageVersion = null; } + try { image2Info.ImageApplication = input2Format.GetImageApplication(); } + catch { image2Info.ImageApplication = null; } + try { image2Info.ImageApplicationVersion = input2Format.GetImageApplicationVersion(); } + catch { image2Info.ImageApplicationVersion = null; } + try { image2Info.ImageCreator = input2Format.GetImageCreator(); } + catch { image2Info.ImageCreator = null; } + try { image2Info.ImageName = input2Format.GetImageName(); } + catch { image2Info.ImageName = null; } + try { image2Info.ImageComments = input2Format.GetImageComments(); } + catch { image2Info.ImageComments = null; } + try { image2Info.MediaManufacturer = input2Format.GetMediaManufacturer(); } + catch { image2Info.MediaManufacturer = null; } + try { image2Info.MediaModel = input2Format.GetMediaModel(); } + catch { image2Info.MediaModel = null; } + try { image2Info.MediaSerialNumber = input2Format.GetMediaSerialNumber(); } + catch { image2Info.MediaSerialNumber = null; } + try { image2Info.MediaBarcode = input2Format.GetMediaBarcode(); } + catch { image2Info.MediaBarcode = null; } + try { image2Info.MediaPartNumber = input2Format.GetMediaPartNumber(); } + catch { image2Info.MediaPartNumber = null; } + try { image2Info.MediaSequence = input2Format.GetMediaSequence(); } + catch { image2Info.MediaSequence = 0; } + try { image2Info.LastMediaSequence = input2Format.GetLastDiskSequence(); } + catch { image2Info.LastMediaSequence = 0; } + try { image2Info.DriveManufacturer = input2Format.GetDriveManufacturer(); } + catch { image2Info.DriveManufacturer = null; } + try { image2Info.DriveModel = input2Format.GetDriveModel(); } + catch { image2Info.DriveModel = null; } + try { image2Info.DriveSerialNumber = input2Format.GetDriveSerialNumber(); } + catch { image2Info.DriveSerialNumber = null; } + try { image2Info.DriveFirmwareRevision = input2Format.ImageInfo.DriveFirmwareRevision; } + catch { image2Info.DriveFirmwareRevision = null; } foreach(MediaTagType disktag in Enum.GetValues(typeof(MediaTagType))) { try @@ -247,49 +247,49 @@ namespace DiscImageChef.Commands if(options.Verbose) { - sb.AppendFormat("Has partitions?\t{0}\t{1}", image1Info.imageHasPartitions, - image2Info.imageHasPartitions).AppendLine(); - sb.AppendFormat("Has sessions?\t{0}\t{1}", image1Info.imageHasSessions, image2Info.imageHasSessions) + sb.AppendFormat("Has partitions?\t{0}\t{1}", image1Info.ImageHasPartitions, + image2Info.ImageHasPartitions).AppendLine(); + sb.AppendFormat("Has sessions?\t{0}\t{1}", image1Info.ImageHasSessions, image2Info.ImageHasSessions) .AppendLine(); - sb.AppendFormat("Image size\t{0}\t{1}", image1Info.imageSize, image2Info.imageSize).AppendLine(); - sb.AppendFormat("Sectors\t{0}\t{1}", image1Info.sectors, image2Info.sectors).AppendLine(); - sb.AppendFormat("Sector size\t{0}\t{1}", image1Info.sectorSize, image2Info.sectorSize).AppendLine(); - sb.AppendFormat("Creation time\t{0}\t{1}", image1Info.imageCreationTime, image2Info.imageCreationTime) + sb.AppendFormat("Image size\t{0}\t{1}", image1Info.ImageSize, image2Info.ImageSize).AppendLine(); + sb.AppendFormat("Sectors\t{0}\t{1}", image1Info.Sectors, image2Info.Sectors).AppendLine(); + sb.AppendFormat("Sector size\t{0}\t{1}", image1Info.SectorSize, image2Info.SectorSize).AppendLine(); + sb.AppendFormat("Creation time\t{0}\t{1}", image1Info.ImageCreationTime, image2Info.ImageCreationTime) .AppendLine(); - sb.AppendFormat("Last modification time\t{0}\t{1}", image1Info.imageLastModificationTime, - image2Info.imageLastModificationTime).AppendLine(); - sb.AppendFormat("Disk type\t{0}\t{1}", image1Info.mediaType, image2Info.mediaType).AppendLine(); - sb.AppendFormat("Image version\t{0}\t{1}", image1Info.imageVersion, image2Info.imageVersion) + sb.AppendFormat("Last modification time\t{0}\t{1}", image1Info.ImageLastModificationTime, + image2Info.ImageLastModificationTime).AppendLine(); + sb.AppendFormat("Disk type\t{0}\t{1}", image1Info.MediaType, image2Info.MediaType).AppendLine(); + sb.AppendFormat("Image version\t{0}\t{1}", image1Info.ImageVersion, image2Info.ImageVersion) .AppendLine(); - sb.AppendFormat("Image application\t{0}\t{1}", image1Info.imageApplication, image2Info.imageApplication) + sb.AppendFormat("Image application\t{0}\t{1}", image1Info.ImageApplication, image2Info.ImageApplication) .AppendLine(); - sb.AppendFormat("Image application version\t{0}\t{1}", image1Info.imageApplicationVersion, - image2Info.imageApplicationVersion).AppendLine(); - sb.AppendFormat("Image creator\t{0}\t{1}", image1Info.imageCreator, image2Info.imageCreator) + sb.AppendFormat("Image application version\t{0}\t{1}", image1Info.ImageApplicationVersion, + image2Info.ImageApplicationVersion).AppendLine(); + sb.AppendFormat("Image creator\t{0}\t{1}", image1Info.ImageCreator, image2Info.ImageCreator) .AppendLine(); - sb.AppendFormat("Image name\t{0}\t{1}", image1Info.imageName, image2Info.imageName).AppendLine(); - sb.AppendFormat("Image comments\t{0}\t{1}", image1Info.imageComments, image2Info.imageComments) + sb.AppendFormat("Image name\t{0}\t{1}", image1Info.ImageName, image2Info.ImageName).AppendLine(); + sb.AppendFormat("Image comments\t{0}\t{1}", image1Info.ImageComments, image2Info.ImageComments) .AppendLine(); - sb.AppendFormat("Disk manufacturer\t{0}\t{1}", image1Info.mediaManufacturer, - image2Info.mediaManufacturer).AppendLine(); - sb.AppendFormat("Disk model\t{0}\t{1}", image1Info.mediaModel, image2Info.mediaModel).AppendLine(); - sb.AppendFormat("Disk serial number\t{0}\t{1}", image1Info.mediaSerialNumber, - image2Info.mediaSerialNumber).AppendLine(); - sb.AppendFormat("Disk barcode\t{0}\t{1}", image1Info.mediaBarcode, image2Info.mediaBarcode) + sb.AppendFormat("Disk manufacturer\t{0}\t{1}", image1Info.MediaManufacturer, + image2Info.MediaManufacturer).AppendLine(); + sb.AppendFormat("Disk model\t{0}\t{1}", image1Info.MediaModel, image2Info.MediaModel).AppendLine(); + sb.AppendFormat("Disk serial number\t{0}\t{1}", image1Info.MediaSerialNumber, + image2Info.MediaSerialNumber).AppendLine(); + sb.AppendFormat("Disk barcode\t{0}\t{1}", image1Info.MediaBarcode, image2Info.MediaBarcode) .AppendLine(); - sb.AppendFormat("Disk part no.\t{0}\t{1}", image1Info.mediaPartNumber, image2Info.mediaPartNumber) + sb.AppendFormat("Disk part no.\t{0}\t{1}", image1Info.MediaPartNumber, image2Info.MediaPartNumber) .AppendLine(); - sb.AppendFormat("Disk sequence\t{0}\t{1}", image1Info.mediaSequence, image2Info.mediaSequence) + sb.AppendFormat("Disk sequence\t{0}\t{1}", image1Info.MediaSequence, image2Info.MediaSequence) .AppendLine(); - sb.AppendFormat("Last disk on sequence\t{0}\t{1}", image1Info.lastMediaSequence, - image2Info.lastMediaSequence).AppendLine(); - sb.AppendFormat("Drive manufacturer\t{0}\t{1}", image1Info.driveManufacturer, - image2Info.driveManufacturer).AppendLine(); - sb.AppendFormat("Drive firmware revision\t{0}\t{1}", image1Info.driveFirmwareRevision, - image2Info.driveFirmwareRevision).AppendLine(); - sb.AppendFormat("Drive model\t{0}\t{1}", image1Info.driveModel, image2Info.driveModel).AppendLine(); - sb.AppendFormat("Drive serial number\t{0}\t{1}", image1Info.driveSerialNumber, - image2Info.driveSerialNumber).AppendLine(); + sb.AppendFormat("Last disk on sequence\t{0}\t{1}", image1Info.LastMediaSequence, + image2Info.LastMediaSequence).AppendLine(); + sb.AppendFormat("Drive manufacturer\t{0}\t{1}", image1Info.DriveManufacturer, + image2Info.DriveManufacturer).AppendLine(); + sb.AppendFormat("Drive firmware revision\t{0}\t{1}", image1Info.DriveFirmwareRevision, + image2Info.DriveFirmwareRevision).AppendLine(); + sb.AppendFormat("Drive model\t{0}\t{1}", image1Info.DriveModel, image2Info.DriveModel).AppendLine(); + sb.AppendFormat("Drive serial number\t{0}\t{1}", image1Info.DriveSerialNumber, + image2Info.DriveSerialNumber).AppendLine(); foreach(MediaTagType disktag in Enum.GetValues(typeof(MediaTagType))) { sb.AppendFormat("Has {0}?\t{1}\t{2}", disktag, image1DiskTags.ContainsKey(disktag), @@ -299,146 +299,146 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Comparing disk image characteristics"); - if(image1Info.imageHasPartitions != image2Info.imageHasPartitions) + if(image1Info.ImageHasPartitions != image2Info.ImageHasPartitions) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image partitioned status differ"); } - if(image1Info.imageHasSessions != image2Info.imageHasSessions) + if(image1Info.ImageHasSessions != image2Info.ImageHasSessions) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image session status differ"); } - if(image1Info.imageSize != image2Info.imageSize) + if(image1Info.ImageSize != image2Info.ImageSize) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image size differ"); } - if(image1Info.sectors != image2Info.sectors) + if(image1Info.Sectors != image2Info.Sectors) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image sectors differ"); } - if(image1Info.sectorSize != image2Info.sectorSize) + if(image1Info.SectorSize != image2Info.SectorSize) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image sector size differ"); } - if(image1Info.imageCreationTime != image2Info.imageCreationTime) + if(image1Info.ImageCreationTime != image2Info.ImageCreationTime) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image creation time differ"); } - if(image1Info.imageLastModificationTime != image2Info.imageLastModificationTime) + if(image1Info.ImageLastModificationTime != image2Info.ImageLastModificationTime) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image last modification time differ"); } - if(image1Info.mediaType != image2Info.mediaType) + if(image1Info.MediaType != image2Info.MediaType) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk type differ"); } - if(image1Info.imageVersion != image2Info.imageVersion) + if(image1Info.ImageVersion != image2Info.ImageVersion) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image version differ"); } - if(image1Info.imageApplication != image2Info.imageApplication) + if(image1Info.ImageApplication != image2Info.ImageApplication) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image application differ"); } - if(image1Info.imageApplicationVersion != image2Info.imageApplicationVersion) + if(image1Info.ImageApplicationVersion != image2Info.ImageApplicationVersion) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image application version differ"); } - if(image1Info.imageCreator != image2Info.imageCreator) + if(image1Info.ImageCreator != image2Info.ImageCreator) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image creator differ"); } - if(image1Info.imageName != image2Info.imageName) + if(image1Info.ImageName != image2Info.ImageName) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image name differ"); } - if(image1Info.imageComments != image2Info.imageComments) + if(image1Info.ImageComments != image2Info.ImageComments) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Image comments differ"); } - if(image1Info.mediaManufacturer != image2Info.mediaManufacturer) + if(image1Info.MediaManufacturer != image2Info.MediaManufacturer) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk manufacturer differ"); } - if(image1Info.mediaModel != image2Info.mediaModel) + if(image1Info.MediaModel != image2Info.MediaModel) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk model differ"); } - if(image1Info.mediaSerialNumber != image2Info.mediaSerialNumber) + if(image1Info.MediaSerialNumber != image2Info.MediaSerialNumber) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk serial number differ"); } - if(image1Info.mediaBarcode != image2Info.mediaBarcode) + if(image1Info.MediaBarcode != image2Info.MediaBarcode) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk barcode differ"); } - if(image1Info.mediaPartNumber != image2Info.mediaPartNumber) + if(image1Info.MediaPartNumber != image2Info.MediaPartNumber) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk part number differ"); } - if(image1Info.mediaSequence != image2Info.mediaSequence) + if(image1Info.MediaSequence != image2Info.MediaSequence) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Disk sequence differ"); } - if(image1Info.lastMediaSequence != image2Info.lastMediaSequence) + if(image1Info.LastMediaSequence != image2Info.LastMediaSequence) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Last disk in sequence differ"); } - if(image1Info.driveManufacturer != image2Info.driveManufacturer) + if(image1Info.DriveManufacturer != image2Info.DriveManufacturer) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Drive manufacturer differ"); } - if(image1Info.driveModel != image2Info.driveModel) + if(image1Info.DriveModel != image2Info.DriveModel) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Drive model differ"); } - if(image1Info.driveSerialNumber != image2Info.driveSerialNumber) + if(image1Info.DriveSerialNumber != image2Info.DriveSerialNumber) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Drive serial number differ"); } - if(image1Info.driveFirmwareRevision != image2Info.driveFirmwareRevision) + if(image1Info.DriveFirmwareRevision != image2Info.DriveFirmwareRevision) { imagesDiffer = true; if(!options.Verbose) sb.AppendLine("Drive firmware revision differ"); } ulong leastSectors; - if(image1Info.sectors < image2Info.sectors) + if(image1Info.Sectors < image2Info.Sectors) { imagesDiffer = true; - leastSectors = image1Info.sectors; + leastSectors = image1Info.Sectors; if(!options.Verbose) sb.AppendLine("Image 2 has more sectors"); } - else if(image1Info.sectors > image2Info.sectors) + else if(image1Info.Sectors > image2Info.Sectors) { imagesDiffer = true; - leastSectors = image2Info.sectors; + leastSectors = image2Info.Sectors; if(!options.Verbose) sb.AppendLine("Image 1 has more sectors"); } - else leastSectors = image1Info.sectors; + else leastSectors = image1Info.Sectors; DicConsole.WriteLine("Comparing sectors..."); diff --git a/DiscImageChef/Commands/Configure.cs b/DiscImageChef/Commands/Configure.cs index 585efa360..f001ca526 100644 --- a/DiscImageChef/Commands/Configure.cs +++ b/DiscImageChef/Commands/Configure.cs @@ -38,7 +38,7 @@ namespace DiscImageChef.Commands { static class Configure { - internal static void doConfigure() + internal static void DoConfigure() { ConsoleKeyInfo pressedKey = new ConsoleKeyInfo(); diff --git a/DiscImageChef/Commands/CreateSidecar.cs b/DiscImageChef/Commands/CreateSidecar.cs index 4e6a33a78..45cd64f1c 100644 --- a/DiscImageChef/Commands/CreateSidecar.cs +++ b/DiscImageChef/Commands/CreateSidecar.cs @@ -37,14 +37,14 @@ using System.Text; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; using Schemas; namespace DiscImageChef.Commands { static class CreateSidecar { - internal static void doSidecar(CreateSidecarOptions options) + internal static void DoSidecar(CreateSidecarOptions options) { Sidecar.InitProgressEvent += Progress.InitProgress; Sidecar.UpdateProgressEvent += Progress.UpdateProgress; @@ -79,7 +79,7 @@ namespace DiscImageChef.Commands return; } - ImagePlugin _imageFormat; + ImagePlugin imageFormat; FiltersList filtersList = new FiltersList(); Filter inputFilter = filtersList.GetFilter(options.InputFile); @@ -92,9 +92,9 @@ namespace DiscImageChef.Commands try { - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); - if(_imageFormat == null) + if(imageFormat == null) { DicConsole.WriteLine("Image format not identified, not proceeding with analysis."); return; @@ -102,14 +102,14 @@ namespace DiscImageChef.Commands else { if(options.Verbose) - DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", _imageFormat.Name, - _imageFormat.PluginUUID); - else DicConsole.WriteLine("Image format identified by {0}.", _imageFormat.Name); + DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", imageFormat.Name, + imageFormat.PluginUuid); + else DicConsole.WriteLine("Image format identified by {0}.", imageFormat.Name); } try { - if(!_imageFormat.OpenImage(inputFilter)) + if(!imageFormat.OpenImage(inputFilter)) { DicConsole.WriteLine("Unable to open image format"); DicConsole.WriteLine("No error given"); @@ -125,11 +125,11 @@ namespace DiscImageChef.Commands return; } - Core.Statistics.AddMediaFormat(_imageFormat.GetImageFormat()); + Core.Statistics.AddMediaFormat(imageFormat.GetImageFormat()); Core.Statistics.AddFilter(inputFilter.Name); CICMMetadataType sidecar = - Sidecar.Create(_imageFormat, options.InputFile, inputFilter.UUID, encoding); + Sidecar.Create(imageFormat, options.InputFile, inputFilter.UUID, encoding); DicConsole.WriteLine("Writing metadata sidecar"); diff --git a/DiscImageChef/Commands/Decode.cs b/DiscImageChef/Commands/Decode.cs index 9d1c6d122..c3e815222 100644 --- a/DiscImageChef/Commands/Decode.cs +++ b/DiscImageChef/Commands/Decode.cs @@ -33,13 +33,13 @@ using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class Decode { - internal static void doDecode(DecodeOptions options) + internal static void DoDecode(DecodeOptions options) { DicConsole.DebugWriteLine("Decode command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Decode command", "--verbose={0}", options.Verbose); @@ -68,16 +68,16 @@ namespace DiscImageChef.Commands inputFormat.OpenImage(inputFilter); Core.Statistics.AddMediaFormat(inputFormat.GetImageFormat()); - Core.Statistics.AddMedia(inputFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMedia(inputFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); if(options.DiskTags) { - if(inputFormat.ImageInfo.readableMediaTags.Count == 0) + if(inputFormat.ImageInfo.ReadableMediaTags.Count == 0) DicConsole.WriteLine("There are no disk tags in chosen disc image."); else { - foreach(MediaTagType tag in inputFormat.ImageInfo.readableMediaTags) + foreach(MediaTagType tag in inputFormat.ImageInfo.ReadableMediaTags) { switch(tag) { @@ -245,11 +245,11 @@ namespace DiscImageChef.Commands } } - if(inputFormat.ImageInfo.readableSectorTags.Count == 0) + if(inputFormat.ImageInfo.ReadableSectorTags.Count == 0) DicConsole.WriteLine("There are no sector tags in chosen disc image."); else { - foreach(SectorTagType tag in inputFormat.ImageInfo.readableSectorTags) + foreach(SectorTagType tag in inputFormat.ImageInfo.ReadableSectorTags) { switch(tag) { diff --git a/DiscImageChef/Commands/DeviceInfo.cs b/DiscImageChef/Commands/DeviceInfo.cs index 34723cff4..cf51c1d04 100644 --- a/DiscImageChef/Commands/DeviceInfo.cs +++ b/DiscImageChef/Commands/DeviceInfo.cs @@ -40,7 +40,7 @@ namespace DiscImageChef.Commands { static class DeviceInfo { - internal static void doDeviceInfo(DeviceInfoOptions options) + internal static void DoDeviceInfo(DeviceInfoOptions options) { DicConsole.DebugWriteLine("Device-Info command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Device-Info command", "--verbose={0}", options.Verbose); @@ -63,16 +63,16 @@ namespace DiscImageChef.Commands Core.Statistics.AddDevice(dev); - if(dev.IsUSB) + if(dev.IsUsb) { DicConsole.WriteLine("USB device"); - if(dev.USBDescriptors != null) - DicConsole.WriteLine("USB descriptor is {0} bytes", dev.USBDescriptors.Length); - DicConsole.WriteLine("USB Vendor ID: {0:X4}", dev.USBVendorID); - DicConsole.WriteLine("USB Product ID: {0:X4}", dev.USBProductID); - DicConsole.WriteLine("USB Manufacturer: {0}", dev.USBManufacturerString); - DicConsole.WriteLine("USB Product: {0}", dev.USBProductString); - DicConsole.WriteLine("USB Serial number: {0}", dev.USBSerialString); + if(dev.UsbDescriptors != null) + DicConsole.WriteLine("USB descriptor is {0} bytes", dev.UsbDescriptors.Length); + DicConsole.WriteLine("USB Vendor ID: {0:X4}", dev.UsbVendorId); + DicConsole.WriteLine("USB Product ID: {0:X4}", dev.UsbProductId); + DicConsole.WriteLine("USB Manufacturer: {0}", dev.UsbManufacturerString); + DicConsole.WriteLine("USB Product: {0}", dev.UsbProductString); + DicConsole.WriteLine("USB Serial number: {0}", dev.UsbSerialString); DicConsole.WriteLine(); } @@ -83,15 +83,15 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("FireWire Model ID: {0:X6}", dev.FireWireModel); DicConsole.WriteLine("FireWire Manufacturer: {0}", dev.FireWireVendorName); DicConsole.WriteLine("FireWire Model: {0}", dev.FireWireModelName); - DicConsole.WriteLine("FireWire GUID: {0:X16}", dev.FireWireGUID); + DicConsole.WriteLine("FireWire GUID: {0:X16}", dev.FireWireGuid); DicConsole.WriteLine(); } - if(dev.IsPCMCIA) + if(dev.IsPcmcia) { DicConsole.WriteLine("PCMCIA device"); - DicConsole.WriteLine("PCMCIA CIS is {0} bytes", dev.CIS.Length); - Decoders.PCMCIA.Tuple[] tuples = Decoders.PCMCIA.CIS.GetTuples(dev.CIS); + DicConsole.WriteLine("PCMCIA CIS is {0} bytes", dev.Cis.Length); + Decoders.PCMCIA.Tuple[] tuples = Decoders.PCMCIA.CIS.GetTuples(dev.Cis); if(tuples != null) { foreach(Decoders.PCMCIA.Tuple tuple in tuples) @@ -1285,7 +1285,7 @@ namespace DiscImageChef.Commands { if(dev.Model.StartsWith("CD-R ", StringComparison.Ordinal)) { - plxtSense = dev.PlextorReadEepromCDR(out plxtBuf, out senseBuf, dev.Timeout, + plxtSense = dev.PlextorReadEepromCdr(out plxtBuf, out senseBuf, dev.Timeout, out duration); } break; @@ -1467,7 +1467,7 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Drive has kreon firmware:"); if(krFeatures.HasFlag(KreonFeatures.ChallengeResponse)) DicConsole.WriteLine("\tCan do challenge/response with Xbox discs"); - if(krFeatures.HasFlag(KreonFeatures.DecryptSS)) + if(krFeatures.HasFlag(KreonFeatures.DecryptSs)) DicConsole.WriteLine("\tCan read and descrypt SS from Xbox discs"); if(krFeatures.HasFlag(KreonFeatures.XtremeUnlock)) DicConsole.WriteLine("\tCan set xtreme unlock state with Xbox discs"); @@ -1475,7 +1475,7 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("\tCan set wxripper unlock state with Xbox discs"); if(krFeatures.HasFlag(KreonFeatures.ChallengeResponse360)) DicConsole.WriteLine("\tCan do challenge/response with Xbox 360 discs"); - if(krFeatures.HasFlag(KreonFeatures.DecryptSS360)) + if(krFeatures.HasFlag(KreonFeatures.DecryptSs360)) DicConsole.WriteLine("\tCan read and descrypt SS from Xbox 360 discs"); if(krFeatures.HasFlag(KreonFeatures.XtremeUnlock360)) DicConsole.WriteLine("\tCan set xtreme unlock state with Xbox 360 discs"); @@ -1549,7 +1549,7 @@ namespace DiscImageChef.Commands { bool noInfo = true; - bool sense = dev.ReadCID(out byte[] mmcBuf, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCid(out byte[] mmcBuf, out uint[] response, dev.Timeout, out double duration); if(!sense) { noInfo = false; @@ -1557,7 +1557,7 @@ namespace DiscImageChef.Commands mmcBuf); DicConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyCID(mmcBuf)); } - sense = dev.ReadCSD(out mmcBuf, out response, dev.Timeout, out duration); + sense = dev.ReadCsd(out mmcBuf, out response, dev.Timeout, out duration); if(!sense) { noInfo = false; @@ -1565,7 +1565,7 @@ namespace DiscImageChef.Commands mmcBuf); DicConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyCSD(mmcBuf)); } - sense = dev.ReadOCR(out mmcBuf, out response, dev.Timeout, out duration); + sense = dev.ReadOcr(out mmcBuf, out response, dev.Timeout, out duration); if(!sense) { noInfo = false; @@ -1573,7 +1573,7 @@ namespace DiscImageChef.Commands mmcBuf); DicConsole.WriteLine("{0}", Decoders.MMC.Decoders.PrettifyOCR(mmcBuf)); } - sense = dev.ReadExtendedCSD(out mmcBuf, out response, dev.Timeout, out duration); + sense = dev.ReadExtendedCsd(out mmcBuf, out response, dev.Timeout, out duration); if(!sense) { noInfo = false; @@ -1589,7 +1589,7 @@ namespace DiscImageChef.Commands { bool noInfo = true; - bool sense = dev.ReadCID(out byte[] sdBuf, out uint[] response, dev.Timeout, out double duration); + bool sense = dev.ReadCid(out byte[] sdBuf, out uint[] response, dev.Timeout, out double duration); if(!sense) { noInfo = false; @@ -1597,7 +1597,7 @@ namespace DiscImageChef.Commands "SecureDigital CID", sdBuf); DicConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifyCID(sdBuf)); } - sense = dev.ReadCSD(out sdBuf, out response, dev.Timeout, out duration); + sense = dev.ReadCsd(out sdBuf, out response, dev.Timeout, out duration); if(!sense) { noInfo = false; @@ -1605,7 +1605,7 @@ namespace DiscImageChef.Commands "SecureDigital CSD", sdBuf); DicConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifyCSD(sdBuf)); } - sense = dev.ReadSDOCR(out sdBuf, out response, dev.Timeout, out duration); + sense = dev.ReadSdocr(out sdBuf, out response, dev.Timeout, out duration); if(!sense) { noInfo = false; @@ -1613,7 +1613,7 @@ namespace DiscImageChef.Commands "SecureDigital OCR", sdBuf); DicConsole.WriteLine("{0}", Decoders.SecureDigital.Decoders.PrettifyOCR(sdBuf)); } - sense = dev.ReadSCR(out sdBuf, out response, dev.Timeout, out duration); + sense = dev.ReadScr(out sdBuf, out response, dev.Timeout, out duration); if(!sense) { noInfo = false; diff --git a/DiscImageChef/Commands/DeviceReport.cs b/DiscImageChef/Commands/DeviceReport.cs index 3ff4a6b2c..25e9a1579 100644 --- a/DiscImageChef/Commands/DeviceReport.cs +++ b/DiscImageChef/Commands/DeviceReport.cs @@ -40,7 +40,7 @@ namespace DiscImageChef.Commands { static class DeviceReport { - internal static void doDeviceReport(DeviceReportOptions options) + internal static void DoDeviceReport(DeviceReportOptions options) { DicConsole.DebugWriteLine("Device-Report command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Device-Report command", "--verbose={0}", options.Verbose); @@ -76,14 +76,14 @@ namespace DiscImageChef.Commands switch(dev.Type) { case DeviceType.ATA: - Core.Devices.Report.ATA.Report(dev, ref report, options.Debug, ref removable); + Core.Devices.Report.Ata.Report(dev, ref report, options.Debug, ref removable); break; case DeviceType.MMC: case DeviceType.SecureDigital: Core.Devices.Report.SecureDigital.Report(dev, ref report, options.Debug, ref removable); break; case DeviceType.NVMe: - Core.Devices.Report.NVMe.Report(dev, ref report, options.Debug, ref removable); + Core.Devices.Report.Nvme.Report(dev, ref report, options.Debug, ref removable); break; case DeviceType.ATAPI: case DeviceType.SCSI: diff --git a/DiscImageChef/Commands/DumpMedia.cs b/DiscImageChef/Commands/DumpMedia.cs index 7ebc6d424..21edb1ed6 100644 --- a/DiscImageChef/Commands/DumpMedia.cs +++ b/DiscImageChef/Commands/DumpMedia.cs @@ -44,7 +44,7 @@ namespace DiscImageChef.Commands { static class DumpMedia { - internal static void doDumpMedia(DumpMediaOptions options) + internal static void DoDumpMedia(DumpMediaOptions options) { DicConsole.DebugWriteLine("Dump-Media command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Dump-Media command", "--verbose={0}", options.Verbose); @@ -121,7 +121,7 @@ namespace DiscImageChef.Commands switch(dev.Type) { case DeviceType.ATA: - ATA.Dump(dev, options.DevicePath, options.OutputPrefix, options.RetryPasses, options.Force, + Ata.Dump(dev, options.DevicePath, options.OutputPrefix, options.RetryPasses, options.Force, options.Raw, options.Persistent, options.StopOnError, ref resume, ref dumpLog, encoding); break; case DeviceType.MMC: @@ -131,12 +131,12 @@ namespace DiscImageChef.Commands ref dumpLog, encoding); break; case DeviceType.NVMe: - NVMe.Dump(dev, options.DevicePath, options.OutputPrefix, options.RetryPasses, options.Force, + NvMe.Dump(dev, options.DevicePath, options.OutputPrefix, options.RetryPasses, options.Force, options.Raw, options.Persistent, options.StopOnError, ref resume, ref dumpLog, encoding); break; case DeviceType.ATAPI: case DeviceType.SCSI: - SCSI.Dump(dev, options.DevicePath, options.OutputPrefix, options.RetryPasses, options.Force, + Scsi.Dump(dev, options.DevicePath, options.OutputPrefix, options.RetryPasses, options.Force, options.Raw, options.Persistent, options.StopOnError, options.SeparateSubchannel, ref resume, ref dumpLog, options.LeadIn, encoding); break; diff --git a/DiscImageChef/Commands/Entropy.cs b/DiscImageChef/Commands/Entropy.cs index ee8d5c418..086d2429a 100644 --- a/DiscImageChef/Commands/Entropy.cs +++ b/DiscImageChef/Commands/Entropy.cs @@ -36,13 +36,13 @@ using DiscImageChef.Checksums; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class Entropy { - internal static void doEntropy(EntropyOptions options) + internal static void DoEntropy(EntropyOptions options) { DicConsole.DebugWriteLine("Entropy command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Entropy command", "--verbose={0}", options.Verbose); @@ -70,7 +70,7 @@ namespace DiscImageChef.Commands inputFormat.OpenImage(inputFilter); Core.Statistics.AddMediaFormat(inputFormat.GetImageFormat()); - Core.Statistics.AddMedia(inputFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMedia(inputFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); if(options.SeparatedTracks) @@ -81,7 +81,7 @@ namespace DiscImageChef.Commands foreach(Track currentTrack in inputTracks) { - SHA1Context sha1ctxTrack = new SHA1Context(); + Sha1Context sha1CtxTrack = new Sha1Context(); ulong[] entTable = new ulong[256]; ulong trackSize = 0; List<string> uniqueSectorsPerTrack = new List<string>(); @@ -97,7 +97,7 @@ namespace DiscImageChef.Commands if(options.DuplicatedSectors) { byte[] garbage; - string sectorHash = sha1ctxTrack.Data(sector, out garbage); + string sectorHash = sha1CtxTrack.Data(sector, out garbage); if(!uniqueSectorsPerTrack.Contains(sectorHash)) uniqueSectorsPerTrack.Add(sectorHash); } @@ -136,7 +136,7 @@ namespace DiscImageChef.Commands if(options.WholeDisc) { - SHA1Context sha1Ctx = new SHA1Context(); + Sha1Context sha1Ctx = new Sha1Context(); ulong[] entTable = new ulong[256]; ulong diskSize = 0; List<string> uniqueSectors = new List<string>(); diff --git a/DiscImageChef/Commands/ExtractFiles.cs b/DiscImageChef/Commands/ExtractFiles.cs index 8ad19b024..fda637384 100644 --- a/DiscImageChef/Commands/ExtractFiles.cs +++ b/DiscImageChef/Commands/ExtractFiles.cs @@ -39,14 +39,14 @@ using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { // TODO: Rewrite this, has an insane amount of repeating code ;) static class ExtractFiles { - internal static void doExtractFiles(ExtractFilesOptions options) + internal static void DoExtractFiles(ExtractFilesOptions options) { DicConsole.DebugWriteLine("Extract-Files command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Extract-Files command", "--verbose={0}", options.Verbose); @@ -83,16 +83,16 @@ namespace DiscImageChef.Commands PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - List<string> id_plugins; - Filesystem _plugin; - ImagePlugin _imageFormat; + List<string> idPlugins; + Filesystem plugin; + ImagePlugin imageFormat; Errno error; try { - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); - if(_imageFormat == null) + if(imageFormat == null) { DicConsole.WriteLine("Image format not identified, not proceeding with analysis."); return; @@ -100,9 +100,9 @@ namespace DiscImageChef.Commands else { if(options.Verbose) - DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", _imageFormat.Name, - _imageFormat.PluginUUID); - else DicConsole.WriteLine("Image format identified by {0}.", _imageFormat.Name); + DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", imageFormat.Name, + imageFormat.PluginUuid); + else DicConsole.WriteLine("Image format identified by {0}.", imageFormat.Name); } if(Directory.Exists(options.OutputDir) || File.Exists(options.OutputDir)) @@ -115,7 +115,7 @@ namespace DiscImageChef.Commands try { - if(!_imageFormat.OpenImage(inputFilter)) + if(!imageFormat.OpenImage(inputFilter)) { DicConsole.WriteLine("Unable to open image format"); DicConsole.WriteLine("No error given"); @@ -124,14 +124,14 @@ namespace DiscImageChef.Commands DicConsole.DebugWriteLine("Extract-Files command", "Correctly opened image file."); DicConsole.DebugWriteLine("Extract-Files command", "Image without headers is {0} bytes.", - _imageFormat.GetImageSize()); + imageFormat.GetImageSize()); DicConsole.DebugWriteLine("Extract-Files command", "Image has {0} sectors.", - _imageFormat.GetSectors()); + imageFormat.GetSectors()); DicConsole.DebugWriteLine("Extract-Files command", "Image identifies disk type as {0}.", - _imageFormat.GetMediaType()); + imageFormat.GetMediaType()); - Core.Statistics.AddMediaFormat(_imageFormat.GetImageFormat()); - Core.Statistics.AddMedia(_imageFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMediaFormat(imageFormat.GetImageFormat()); + Core.Statistics.AddMedia(imageFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); } catch(Exception ex) @@ -141,8 +141,8 @@ namespace DiscImageChef.Commands return; } - List<Partition> partitions = Partitions.GetAll(_imageFormat); - Partitions.AddSchemesToStats(partitions); + List<Partition> partitions = Core.Partitions.GetAll(imageFormat); + Core.Partitions.AddSchemesToStats(partitions); if(partitions.Count == 0) DicConsole.DebugWriteLine("Extract-Files command", "No partitions found"); else @@ -156,22 +156,22 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Identifying filesystem on partition"); - Core.Filesystems.Identify(_imageFormat, out id_plugins, partitions[i]); - if(id_plugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); - else if(id_plugins.Count > 1) + Core.Filesystems.Identify(imageFormat, out idPlugins, partitions[i]); + if(idPlugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); + else if(idPlugins.Count > 1) { - DicConsole.WriteLine(string.Format("Identified by {0} plugins", id_plugins.Count)); + DicConsole.WriteLine(string.Format("Identified by {0} plugins", idPlugins.Count)); - foreach(string plugin_name in id_plugins) + foreach(string pluginName in idPlugins) { - if(plugins.PluginsList.TryGetValue(plugin_name, out _plugin)) + if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) { - DicConsole.WriteLine(string.Format("As identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + DicConsole.WriteLine(string.Format("As identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, partitions[i], null}); + }).Invoke(new object[] {imageFormat, partitions[i], null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) @@ -319,13 +319,13 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(id_plugins[0], out _plugin); - DicConsole.WriteLine(string.Format("Identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + DicConsole.WriteLine(string.Format("Identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, partitions[i], null}); + }).Invoke(new object[] {imageFormat, partitions[i], null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) { @@ -454,26 +454,26 @@ namespace DiscImageChef.Commands Partition wholePart = new Partition { Name = "Whole device", - Length = _imageFormat.GetSectors(), - Size = _imageFormat.GetSectors() * _imageFormat.GetSectorSize() + Length = imageFormat.GetSectors(), + Size = imageFormat.GetSectors() * imageFormat.GetSectorSize() }; - Core.Filesystems.Identify(_imageFormat, out id_plugins, wholePart); - if(id_plugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); - else if(id_plugins.Count > 1) + Core.Filesystems.Identify(imageFormat, out idPlugins, wholePart); + if(idPlugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); + else if(idPlugins.Count > 1) { - DicConsole.WriteLine(string.Format("Identified by {0} plugins", id_plugins.Count)); + DicConsole.WriteLine(string.Format("Identified by {0} plugins", idPlugins.Count)); - foreach(string plugin_name in id_plugins) + foreach(string pluginName in idPlugins) { - if(plugins.PluginsList.TryGetValue(plugin_name, out _plugin)) + if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) { - DicConsole.WriteLine(string.Format("As identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + DicConsole.WriteLine(string.Format("As identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, wholePart, null}); + }).Invoke(new object[] {imageFormat, wholePart, null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) { @@ -600,13 +600,13 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(id_plugins[0], out _plugin); - DicConsole.WriteLine(string.Format("Identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + DicConsole.WriteLine(string.Format("Identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, wholePart, null}); + }).Invoke(new object[] {imageFormat, wholePart, null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) { diff --git a/DiscImageChef/Commands/Formats.cs b/DiscImageChef/Commands/Formats.cs index feb658e55..3ac6fda31 100644 --- a/DiscImageChef/Commands/Formats.cs +++ b/DiscImageChef/Commands/Formats.cs @@ -35,54 +35,54 @@ using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; -using DiscImageChef.PartPlugins; +using DiscImageChef.DiscImages; +using DiscImageChef.Partitions; namespace DiscImageChef.Commands { static class Formats { - internal static void ListFormats(FormatsOptions FormatsOptions) + internal static void ListFormats(FormatsOptions formatsOptions) { PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(); FiltersList filtersList = new FiltersList(); DicConsole.WriteLine("Supported filters:"); - if(FormatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tFilter"); + if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tFilter"); foreach(KeyValuePair<string, Filter> kvp in filtersList.filtersList) { - if(FormatsOptions.Verbose) DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.UUID, kvp.Value.Name); + if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.UUID, kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name); } DicConsole.WriteLine(); DicConsole.WriteLine("Supported disc image formats:"); - if(FormatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); + if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); foreach(KeyValuePair<string, ImagePlugin> kvp in plugins.ImagePluginsList) { - if(FormatsOptions.Verbose) - DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.PluginUUID, kvp.Value.Name); + if(formatsOptions.Verbose) + DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.PluginUuid, kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name); } DicConsole.WriteLine(); DicConsole.WriteLine("Supported filesystems:"); - if(FormatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); + if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); foreach(KeyValuePair<string, Filesystem> kvp in plugins.PluginsList) { - if(FormatsOptions.Verbose) + if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.PluginUUID, kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name); } DicConsole.WriteLine(); DicConsole.WriteLine("Supported partitioning schemes:"); - if(FormatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); - foreach(KeyValuePair<string, PartPlugin> kvp in plugins.PartPluginsList) + if(formatsOptions.Verbose) DicConsole.VerboseWriteLine("GUID\t\t\t\t\tPlugin"); + foreach(KeyValuePair<string, PartitionPlugin> kvp in plugins.PartPluginsList) { - if(FormatsOptions.Verbose) - DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.PluginUUID, kvp.Value.Name); + if(formatsOptions.Verbose) + DicConsole.VerboseWriteLine("{0}\t{1}", kvp.Value.PluginUuid, kvp.Value.Name); else DicConsole.WriteLine(kvp.Value.Name); } diff --git a/DiscImageChef/Commands/ListDevices.cs b/DiscImageChef/Commands/ListDevices.cs index 5c88dfa16..cb83c80d5 100644 --- a/DiscImageChef/Commands/ListDevices.cs +++ b/DiscImageChef/Commands/ListDevices.cs @@ -38,7 +38,7 @@ namespace DiscImageChef.Commands { static class ListDevices { - internal static void doListDevices(ListDevicesOptions options) + internal static void DoListDevices(ListDevicesOptions options) { DicConsole.DebugWriteLine("Media-Info command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Media-Info command", "--verbose={0}", options.Verbose); @@ -48,7 +48,7 @@ namespace DiscImageChef.Commands if(devices == null || devices.Length == 0) DicConsole.WriteLine("No known devices attached."); else { - devices = devices.OrderBy(d => d.path).ToArray(); + devices = devices.OrderBy(d => d.Path).ToArray(); DicConsole.WriteLine("{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", "Path", "Vendor", "Model", "Serial", "Bus", "Supported?"); @@ -56,8 +56,8 @@ namespace DiscImageChef.Commands "----------------", "------------------------", "------------------------", "----------", "----------"); foreach(Devices.DeviceInfo dev in devices) - DicConsole.WriteLine("{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", dev.path, dev.vendor, - dev.model, dev.serial, dev.bus, dev.supported); + DicConsole.WriteLine("{0,-22}|{1,-16}|{2,-24}|{3,-24}|{4,-10}|{5,-10}", dev.Path, dev.Vendor, + dev.Model, dev.Serial, dev.Bus, dev.Supported); } Core.Statistics.AddCommand("list-devices"); diff --git a/DiscImageChef/Commands/ListEncodings.cs b/DiscImageChef/Commands/ListEncodings.cs index fd62e4341..d4392cee0 100644 --- a/DiscImageChef/Commands/ListEncodings.cs +++ b/DiscImageChef/Commands/ListEncodings.cs @@ -44,7 +44,7 @@ namespace DiscImageChef.Commands public string DisplayName; } - internal static void DoList(ListEncodingsOptions EncodingOptions) + internal static void DoList(ListEncodingsOptions encodingOptions) { List<CommonEncodingInfo> encodings = new List<CommonEncodingInfo>(); diff --git a/DiscImageChef/Commands/Ls.cs b/DiscImageChef/Commands/Ls.cs index f346837ff..8f10f332a 100644 --- a/DiscImageChef/Commands/Ls.cs +++ b/DiscImageChef/Commands/Ls.cs @@ -38,13 +38,13 @@ using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filesystems; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class Ls { - internal static void doLs(LsOptions options) + internal static void DoLs(LsOptions options) { DicConsole.DebugWriteLine("Ls command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Ls command", "--verbose={0}", options.Verbose); @@ -79,16 +79,16 @@ namespace DiscImageChef.Commands PluginBase plugins = new PluginBase(); plugins.RegisterAllPlugins(encoding); - List<string> id_plugins; - Filesystem _plugin; - ImagePlugin _imageFormat; + List<string> idPlugins; + Filesystem plugin; + ImagePlugin imageFormat; Errno error; try { - _imageFormat = ImageFormat.Detect(inputFilter); + imageFormat = ImageFormat.Detect(inputFilter); - if(_imageFormat == null) + if(imageFormat == null) { DicConsole.WriteLine("Image format not identified, not proceeding with analysis."); return; @@ -96,14 +96,14 @@ namespace DiscImageChef.Commands else { if(options.Verbose) - DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", _imageFormat.Name, - _imageFormat.PluginUUID); - else DicConsole.WriteLine("Image format identified by {0}.", _imageFormat.Name); + DicConsole.VerboseWriteLine("Image format identified by {0} ({1}).", imageFormat.Name, + imageFormat.PluginUuid); + else DicConsole.WriteLine("Image format identified by {0}.", imageFormat.Name); } try { - if(!_imageFormat.OpenImage(inputFilter)) + if(!imageFormat.OpenImage(inputFilter)) { DicConsole.WriteLine("Unable to open image format"); DicConsole.WriteLine("No error given"); @@ -112,13 +112,13 @@ namespace DiscImageChef.Commands DicConsole.DebugWriteLine("Ls command", "Correctly opened image file."); DicConsole.DebugWriteLine("Ls command", "Image without headers is {0} bytes.", - _imageFormat.GetImageSize()); - DicConsole.DebugWriteLine("Ls command", "Image has {0} sectors.", _imageFormat.GetSectors()); + imageFormat.GetImageSize()); + DicConsole.DebugWriteLine("Ls command", "Image has {0} sectors.", imageFormat.GetSectors()); DicConsole.DebugWriteLine("Ls command", "Image identifies disk type as {0}.", - _imageFormat.GetMediaType()); + imageFormat.GetMediaType()); - Core.Statistics.AddMediaFormat(_imageFormat.GetImageFormat()); - Core.Statistics.AddMedia(_imageFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMediaFormat(imageFormat.GetImageFormat()); + Core.Statistics.AddMedia(imageFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); } catch(Exception ex) @@ -128,8 +128,8 @@ namespace DiscImageChef.Commands return; } - List<Partition> partitions = Partitions.GetAll(_imageFormat); - Partitions.AddSchemesToStats(partitions); + List<Partition> partitions = Core.Partitions.GetAll(imageFormat); + Core.Partitions.AddSchemesToStats(partitions); if(partitions.Count == 0) DicConsole.DebugWriteLine("Ls command", "No partitions found"); else @@ -143,22 +143,22 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Identifying filesystem on partition"); - Core.Filesystems.Identify(_imageFormat, out id_plugins, partitions[i]); - if(id_plugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); - else if(id_plugins.Count > 1) + Core.Filesystems.Identify(imageFormat, out idPlugins, partitions[i]); + if(idPlugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); + else if(idPlugins.Count > 1) { - DicConsole.WriteLine(string.Format("Identified by {0} plugins", id_plugins.Count)); + DicConsole.WriteLine(string.Format("Identified by {0} plugins", idPlugins.Count)); - foreach(string plugin_name in id_plugins) + foreach(string pluginName in idPlugins) { - if(plugins.PluginsList.TryGetValue(plugin_name, out _plugin)) + if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) { - DicConsole.WriteLine(string.Format("As identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + DicConsole.WriteLine(string.Format("As identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, partitions[i], null}); + }).Invoke(new object[] {imageFormat, partitions[i], null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) @@ -183,13 +183,13 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(id_plugins[0], out _plugin); - DicConsole.WriteLine(string.Format("Identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + DicConsole.WriteLine(string.Format("Identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, partitions[i], null}); + }).Invoke(new object[] {imageFormat, partitions[i], null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) { @@ -212,26 +212,26 @@ namespace DiscImageChef.Commands Partition wholePart = new Partition { Name = "Whole device", - Length = _imageFormat.GetSectors(), - Size = _imageFormat.GetSectors() * _imageFormat.GetSectorSize() + Length = imageFormat.GetSectors(), + Size = imageFormat.GetSectors() * imageFormat.GetSectorSize() }; - Core.Filesystems.Identify(_imageFormat, out id_plugins, wholePart); - if(id_plugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); - else if(id_plugins.Count > 1) + Core.Filesystems.Identify(imageFormat, out idPlugins, wholePart); + if(idPlugins.Count == 0) DicConsole.WriteLine("Filesystem not identified"); + else if(idPlugins.Count > 1) { - DicConsole.WriteLine(string.Format("Identified by {0} plugins", id_plugins.Count)); + DicConsole.WriteLine(string.Format("Identified by {0} plugins", idPlugins.Count)); - foreach(string plugin_name in id_plugins) + foreach(string pluginName in idPlugins) { - if(plugins.PluginsList.TryGetValue(plugin_name, out _plugin)) + if(plugins.PluginsList.TryGetValue(pluginName, out plugin)) { - DicConsole.WriteLine(string.Format("As identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + DicConsole.WriteLine(string.Format("As identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, wholePart, null}); + }).Invoke(new object[] {imageFormat, wholePart, null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) { @@ -252,13 +252,13 @@ namespace DiscImageChef.Commands } else { - plugins.PluginsList.TryGetValue(id_plugins[0], out _plugin); - DicConsole.WriteLine(string.Format("Identified by {0}.", _plugin.Name)); - Filesystem fs = (Filesystem)_plugin + plugins.PluginsList.TryGetValue(idPlugins[0], out plugin); + DicConsole.WriteLine(string.Format("Identified by {0}.", plugin.Name)); + Filesystem fs = (Filesystem)plugin .GetType().GetConstructor(new Type[] { typeof(ImagePlugin), typeof(Partition), typeof(System.Text.Encoding) - }).Invoke(new object[] {_imageFormat, wholePart, null}); + }).Invoke(new object[] {imageFormat, wholePart, null}); error = fs.Mount(options.Debug); if(error == Errno.NoError) { diff --git a/DiscImageChef/Commands/MediaInfo.cs b/DiscImageChef/Commands/MediaInfo.cs index e9ea27025..fe600648c 100644 --- a/DiscImageChef/Commands/MediaInfo.cs +++ b/DiscImageChef/Commands/MediaInfo.cs @@ -41,7 +41,7 @@ namespace DiscImageChef.Commands { static class MediaInfo { - internal static void doMediaInfo(MediaInfoOptions options) + internal static void DoMediaInfo(MediaInfoOptions options) { DicConsole.DebugWriteLine("Media-Info command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Media-Info command", "--verbose={0}", options.Verbose); @@ -67,18 +67,18 @@ namespace DiscImageChef.Commands switch(dev.Type) { case DeviceType.ATA: - doATAMediaInfo(options.OutputPrefix, dev); + DoAtaMediaInfo(options.OutputPrefix, dev); break; case DeviceType.MMC: case DeviceType.SecureDigital: - doSDMediaInfo(options.OutputPrefix, dev); + DoSdMediaInfo(options.OutputPrefix, dev); break; case DeviceType.NVMe: - doNVMeMediaInfo(options.OutputPrefix, dev); + DoNvmeMediaInfo(options.OutputPrefix, dev); break; case DeviceType.ATAPI: case DeviceType.SCSI: - doSCSIMediaInfo(options.OutputPrefix, dev); + DoScsiMediaInfo(options.OutputPrefix, dev); break; default: throw new NotSupportedException("Unknown device type."); } @@ -86,22 +86,22 @@ namespace DiscImageChef.Commands Core.Statistics.AddCommand("media-info"); } - static void doATAMediaInfo(string outputPrefix, Device dev) + static void DoAtaMediaInfo(string outputPrefix, Device dev) { DicConsole.ErrorWriteLine("Please use device-info command for ATA devices."); } - static void doNVMeMediaInfo(string outputPrefix, Device dev) + static void DoNvmeMediaInfo(string outputPrefix, Device dev) { throw new NotImplementedException("NVMe devices not yet supported."); } - static void doSDMediaInfo(string outputPrefix, Device dev) + static void DoSdMediaInfo(string outputPrefix, Device dev) { DicConsole.ErrorWriteLine("Please use device-info command for MMC/SD devices."); } - static void doSCSIMediaInfo(string outputPrefix, Device dev) + static void DoScsiMediaInfo(string outputPrefix, Device dev) { byte[] cmdBuf; byte[] senseBuf; @@ -184,7 +184,7 @@ namespace DiscImageChef.Commands byte[] modeBuf; Decoders.SCSI.Modes.DecodedMode? decMode = null; - Decoders.SCSI.PeripheralDeviceTypes devType = dev.SCSIType; + Decoders.SCSI.PeripheralDeviceTypes devType = dev.ScsiType; sense = dev.ModeSense10(out modeBuf, out senseBuf, false, true, ScsiModeSensePageControl.Current, 0x3F, 0xFF, 5, out duration); @@ -225,12 +225,12 @@ namespace DiscImageChef.Commands containsFloppyPage |= modePage.Page == 0x05; } - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.DirectAccess || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.OCRWDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.OpticalDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SimplifiedDevice || - dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.WriteOnceDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.DirectAccess || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.OCRWDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.OpticalDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SimplifiedDevice || + dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.WriteOnceDevice) { sense = dev.ReadCapacity(out cmdBuf, out senseBuf, dev.Timeout, out duration); if(!sense) @@ -248,7 +248,7 @@ namespace DiscImageChef.Commands if(sense && blocks == 0) { // Not all MMC devices support READ CAPACITY, as they have READ TOC - if(dev.SCSIType != Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType != Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { DicConsole.ErrorWriteLine("Unable to get media capacity"); DicConsole.ErrorWriteLine("{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -276,7 +276,7 @@ namespace DiscImageChef.Commands } } - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.SequentialAccess) { byte[] seqBuf; byte[] medBuf; @@ -333,7 +333,7 @@ namespace DiscImageChef.Commands */ } - if(dev.SCSIType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) + if(dev.ScsiType == Decoders.SCSI.PeripheralDeviceTypes.MultiMediaDevice) { sense = dev.GetConfiguration(out cmdBuf, out senseBuf, 0, MmcGetConfigurationRt.Current, dev.Timeout, out duration); @@ -442,7 +442,7 @@ namespace DiscImageChef.Commands } } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.RecognizedFormatLayers, 0, dev.Timeout, out duration); if(sense) @@ -452,7 +452,7 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_formatlayers.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.WriteProtectionStatus, 0, dev.Timeout, out duration); if(sense) @@ -479,7 +479,7 @@ namespace DiscImageChef.Commands dskType == MediaType.HDDVDRAM || dskType == MediaType.HDDVDRDL || dskType == MediaType.HDDVDROM || dskType == MediaType.HDDVDRW || dskType == MediaType.HDDVDRWDL) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, dev.Timeout, out duration); if(sense) @@ -550,7 +550,7 @@ namespace DiscImageChef.Commands } } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, dev.Timeout, out duration); if(sense) @@ -583,7 +583,7 @@ namespace DiscImageChef.Commands #region DVD-ROM if(dskType == MediaType.DVDDownload || dskType == MediaType.DVDROM) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.CopyrightInformation, 0, dev.Timeout, out duration); if(sense) @@ -602,7 +602,7 @@ namespace DiscImageChef.Commands #region DVD-ROM and HD DVD-ROM if(dskType == MediaType.DVDDownload || dskType == MediaType.DVDROM || dskType == MediaType.HDDVDROM) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.BurstCuttingArea, 0, dev.Timeout, out duration); if(sense) @@ -611,8 +611,8 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_dvd_bca.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVD_AACS, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdAacs, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DVD AACS\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -685,8 +685,8 @@ namespace DiscImageChef.Commands #region DVD-RAM and HD DVD-RAM if(dskType == MediaType.DVDRAM || dskType == MediaType.HDDVDRAM) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_DDS, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramDds, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DDS\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -696,8 +696,8 @@ namespace DiscImageChef.Commands "SCSI READ DISC STRUCTURE", cmdBuf); DicConsole.WriteLine("Disc Definition Structure:\n{0}", Decoders.DVD.DDS.Prettify(cmdBuf)); } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_MediumStatus, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramMediumStatus, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Medium Status\n{0}", @@ -708,8 +708,8 @@ namespace DiscImageChef.Commands "SCSI READ DISC STRUCTURE", cmdBuf); DicConsole.WriteLine("Medium Status:\n{0}", Decoders.DVD.Cartridge.Prettify(cmdBuf)); } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDRAM_SpareAreaInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdramSpareAreaInformation, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: SAI\n{0}", @@ -726,8 +726,8 @@ namespace DiscImageChef.Commands #region DVD-R and HD DVD-R if(dskType == MediaType.DVDR || dskType == MediaType.HDDVDR) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.LastBorderOutRMD, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.LastBorderOutRmd, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Last-Out Border RMD\n{0}", @@ -741,7 +741,7 @@ namespace DiscImageChef.Commands #region DVD-R and DVD-RW if(dskType == MediaType.DVDR || dskType == MediaType.DVDRW) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PreRecordedInfo, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Pre-Recorded Info\n{0}", @@ -755,8 +755,8 @@ namespace DiscImageChef.Commands #region DVD-R, DVD-RW and HD DVD-R if(dskType == MediaType.DVDR || dskType == MediaType.DVDRW || dskType == MediaType.HDDVDR) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_MediaIdentifier, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrMediaIdentifier, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DVD-R Media ID\n{0}", @@ -764,8 +764,8 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_dvdr_mediaid.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_PhysicalInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrPhysicalInformation, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DVD-R PFI\n{0}", @@ -780,8 +780,8 @@ namespace DiscImageChef.Commands if(dskType == MediaType.DVDPR || dskType == MediaType.DVDPRDL || dskType == MediaType.DVDPRW || dskType == MediaType.DVDPRWDL) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.ADIP, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.Adip, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: ADIP\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -789,8 +789,8 @@ namespace DiscImageChef.Commands DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_dvd+_adip.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DCB, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.Dcb, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DCB\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -803,8 +803,8 @@ namespace DiscImageChef.Commands #region HD DVD-ROM if(dskType == MediaType.HDDVDROM) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.HDDVD_CopyrightInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.HddvdCopyrightInformation, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: HDDVD CMI\n{0}", @@ -818,8 +818,8 @@ namespace DiscImageChef.Commands #region HD DVD-R if(dskType == MediaType.HDDVDR) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.HDDVDR_MediumStatus, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.HddvdrMediumStatus, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", @@ -828,8 +828,8 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_hddvdr_status.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.HDDVDR_LastRMD, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.HddvdrLastRmd, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Last RMD\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -843,8 +843,8 @@ namespace DiscImageChef.Commands if(dskType == MediaType.DVDPRDL || dskType == MediaType.DVDRDL || dskType == MediaType.DVDRWDL || dskType == MediaType.DVDPRWDL) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.DVDR_LayerCapacity, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DvdrLayerCapacity, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Layer Capacity\n{0}", @@ -858,7 +858,7 @@ namespace DiscImageChef.Commands #region DVD-R DL if(dskType == MediaType.DVDRDL) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.MiddleZoneStart, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Middle Zone Start\n{0}", @@ -866,7 +866,7 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_dvd_mzs.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.JumpIntervalSize, 0, dev.Timeout, out duration); if(sense) @@ -875,8 +875,8 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_dvd_jis.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, - MmcDiscStructureFormat.ManualLayerJumpStartLBA, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.ManualLayerJumpStartLba, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", @@ -885,7 +885,7 @@ namespace DiscImageChef.Commands else DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscstructure_dvd_manuallj.bin", "SCSI READ DISC STRUCTURE", cmdBuf); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.RemapAnchorPoint, 0, dev.Timeout, out duration); if(sense) @@ -901,7 +901,7 @@ namespace DiscImageChef.Commands if(dskType == MediaType.BDR || dskType == MediaType.BDRE || dskType == MediaType.BDROM || dskType == MediaType.BDRXL || dskType == MediaType.BDREXL) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, MmcDiscStructureFormat.DiscInformation, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DI\n{0}", @@ -912,8 +912,8 @@ namespace DiscImageChef.Commands "SCSI READ DISC STRUCTURE", cmdBuf); DicConsole.WriteLine("Blu-ray Disc Information:\n{0}", Decoders.Bluray.DI.Prettify(cmdBuf)); } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.PAC, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.Pac, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: PAC\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -926,8 +926,8 @@ namespace DiscImageChef.Commands #region BD-ROM only if(dskType == MediaType.BDROM) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_BurstCuttingArea, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdBurstCuttingArea, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: BCA\n{0}", @@ -945,8 +945,8 @@ namespace DiscImageChef.Commands if(dskType == MediaType.BDR || dskType == MediaType.BDRE || dskType == MediaType.BDRXL || dskType == MediaType.BDREXL) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_DDS, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdDds, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: DDS\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -957,7 +957,7 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Blu-ray Disc Definition Structure:\n{0}", Decoders.Bluray.DDS.Prettify(cmdBuf)); } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, MmcDiscStructureFormat.CartridgeStatus, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Cartridge Status\n{0}", @@ -968,8 +968,8 @@ namespace DiscImageChef.Commands "SCSI READ DISC STRUCTURE", cmdBuf); DicConsole.WriteLine("Blu-ray Cartridge Status:\n{0}", Decoders.Bluray.DI.Prettify(cmdBuf)); } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.BD_SpareAreaInformation, 0, dev.Timeout, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.BdSpareAreaInformation, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", @@ -982,8 +982,8 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Blu-ray Spare Area Information:\n{0}", Decoders.Bluray.DI.Prettify(cmdBuf)); } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.BD, 0, 0, - MmcDiscStructureFormat.RawDFL, 0, dev.Timeout, out duration); + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Bd, 0, 0, + MmcDiscStructureFormat.RawDfl, 0, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC STRUCTURE: Raw DFL\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -1003,7 +1003,7 @@ namespace DiscImageChef.Commands DataFile.WriteTo("Media-Info command", outputPrefix, "_readdiscinformation_001b.bin", "SCSI READ DISC INFORMATION", cmdBuf); } - sense = dev.ReadDiscInformation(out cmdBuf, out senseBuf, MmcDiscInformationDataTypes.POWResources, + sense = dev.ReadDiscInformation(out cmdBuf, out senseBuf, MmcDiscInformationDataTypes.PowResources, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "READ DISC INFORMATION 010b\n{0}", @@ -1197,7 +1197,7 @@ namespace DiscImageChef.Commands #region Nintendo if(dskType == MediaType.Unknown && blocks > 0) { - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, dev.Timeout, out duration); if(sense) @@ -1220,7 +1220,7 @@ namespace DiscImageChef.Commands } } } - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.DiscManufacturingInformation, 0, dev.Timeout, out duration); if(sense) @@ -1246,7 +1246,7 @@ namespace DiscImageChef.Commands inq = Decoders.SCSI.Inquiry.Decode(inqBuffer); if(inq.HasValue && inq.Value.KreonPresent) { - sense = dev.KreonExtractSS(out cmdBuf, out senseBuf, dev.Timeout, out duration); + sense = dev.KreonExtractSs(out cmdBuf, out senseBuf, dev.Timeout, out duration); if(sense) DicConsole.DebugWriteLine("Media-Info command", "KREON EXTRACT SS:\n{0}", Decoders.SCSI.Sense.PrettifySense(senseBuf)); @@ -1276,7 +1276,7 @@ namespace DiscImageChef.Commands } totalSize = (ulong)((cmdBuf[0] << 24) + (cmdBuf[1] << 16) + (cmdBuf[2] << 8) + (cmdBuf[3])); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, 0, out duration); if(sense) { @@ -1327,7 +1327,7 @@ namespace DiscImageChef.Commands } totalSize = (ulong)((cmdBuf[0] << 24) + (cmdBuf[1] << 16) + (cmdBuf[2] << 8) + (cmdBuf[3])); - sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.DVD, 0, 0, + sense = dev.ReadDiscStructure(out cmdBuf, out senseBuf, MmcDiscStructureMediaType.Dvd, 0, 0, MmcDiscStructureFormat.PhysicalInformation, 0, 0, out duration); if(sense) { @@ -1356,10 +1356,10 @@ namespace DiscImageChef.Commands #endregion Xbox if(dskType == MediaType.Unknown) - dskType = MediaTypeFromSCSI.Get((byte)dev.SCSIType, dev.Manufacturer, dev.Model, scsiMediumType, + dskType = MediaTypeFromScsi.Get((byte)dev.ScsiType, dev.Manufacturer, dev.Model, scsiMediumType, scsiDensityCode, blocks, blockSize); - if(dskType == MediaType.Unknown && dev.IsUSB && containsFloppyPage) dskType = MediaType.FlashDrive; + if(dskType == MediaType.Unknown && dev.IsUsb && containsFloppyPage) dskType = MediaType.FlashDrive; DicConsole.WriteLine("Media identified as {0}", dskType); Core.Statistics.AddMedia(dskType, true); diff --git a/DiscImageChef/Commands/MediaScan.cs b/DiscImageChef/Commands/MediaScan.cs index 1b4f200f6..f2f5117d7 100644 --- a/DiscImageChef/Commands/MediaScan.cs +++ b/DiscImageChef/Commands/MediaScan.cs @@ -39,13 +39,13 @@ namespace DiscImageChef.Commands { static class MediaScan { - internal static void doMediaScan(MediaScanOptions options) + internal static void DoMediaScan(MediaScanOptions options) { DicConsole.DebugWriteLine("Media-Scan command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Media-Scan command", "--verbose={0}", options.Verbose); DicConsole.DebugWriteLine("Media-Scan command", "--device={0}", options.DevicePath); - DicConsole.DebugWriteLine("Media-Scan command", "--mhdd-log={0}", options.MHDDLogPath); - DicConsole.DebugWriteLine("Media-Scan command", "--ibg-log={0}", options.IBGLogPath); + DicConsole.DebugWriteLine("Media-Scan command", "--mhdd-log={0}", options.MhddLogPath); + DicConsole.DebugWriteLine("Media-Scan command", "--ibg-log={0}", options.IbgLogPath); if(options.DevicePath.Length == 2 && options.DevicePath[1] == ':' && options.DevicePath[0] != '/' && char.IsLetter(options.DevicePath[0])) @@ -68,27 +68,27 @@ namespace DiscImageChef.Commands switch(dev.Type) { case DeviceType.ATA: - results = ATA.Scan(options.MHDDLogPath, options.IBGLogPath, options.DevicePath, dev); + results = Ata.Scan(options.MhddLogPath, options.IbgLogPath, options.DevicePath, dev); break; case DeviceType.MMC: case DeviceType.SecureDigital: - results = SecureDigital.Scan(options.MHDDLogPath, options.IBGLogPath, options.DevicePath, dev); + results = SecureDigital.Scan(options.MhddLogPath, options.IbgLogPath, options.DevicePath, dev); break; case DeviceType.NVMe: - results = NVMe.Scan(options.MHDDLogPath, options.IBGLogPath, options.DevicePath, dev); + results = Nvme.Scan(options.MhddLogPath, options.IbgLogPath, options.DevicePath, dev); break; case DeviceType.ATAPI: case DeviceType.SCSI: - results = SCSI.Scan(options.MHDDLogPath, options.IBGLogPath, options.DevicePath, dev); + results = Scsi.Scan(options.MhddLogPath, options.IbgLogPath, options.DevicePath, dev); break; default: throw new NotSupportedException("Unknown device type."); } - DicConsole.WriteLine("Took a total of {0} seconds ({1} processing commands).", results.totalTime, - results.processingTime); - DicConsole.WriteLine("Avegare speed: {0:F3} MiB/sec.", results.avgSpeed); - DicConsole.WriteLine("Fastest speed burst: {0:F3} MiB/sec.", results.maxSpeed); - DicConsole.WriteLine("Slowest speed burst: {0:F3} MiB/sec.", results.minSpeed); + DicConsole.WriteLine("Took a total of {0} seconds ({1} processing commands).", results.TotalTime, + results.ProcessingTime); + DicConsole.WriteLine("Avegare speed: {0:F3} MiB/sec.", results.AvgSpeed); + DicConsole.WriteLine("Fastest speed burst: {0:F3} MiB/sec.", results.MaxSpeed); + DicConsole.WriteLine("Slowest speed burst: {0:F3} MiB/sec.", results.MinSpeed); DicConsole.WriteLine("Summary:"); DicConsole.WriteLine("{0} sectors took less than 3 ms.", results.A); DicConsole.WriteLine("{0} sectors took less than 10 ms but more than 3 ms.", results.B); @@ -96,24 +96,24 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("{0} sectors took less than 150 ms but more than 50 ms.", results.D); DicConsole.WriteLine("{0} sectors took less than 500 ms but more than 150 ms.", results.E); DicConsole.WriteLine("{0} sectors took more than 500 ms.", results.F); - DicConsole.WriteLine("{0} sectors could not be read.", results.unreadableSectors.Count); - if(results.unreadableSectors.Count > 0) + DicConsole.WriteLine("{0} sectors could not be read.", results.UnreadableSectors.Count); + if(results.UnreadableSectors.Count > 0) { - foreach(ulong bad in results.unreadableSectors) + foreach(ulong bad in results.UnreadableSectors) DicConsole.WriteLine("Sector {0} could not be read", bad); } DicConsole.WriteLine(); #pragma warning disable RECS0018 // Comparison of floating point numbers with equality operator - if(results.seekTotal != 0 || results.seekMin != double.MaxValue || results.seekMax != double.MinValue) + if(results.SeekTotal != 0 || results.SeekMin != double.MaxValue || results.SeekMax != double.MinValue) #pragma warning restore RECS0018 // Comparison of floating point numbers with equality operator DicConsole.WriteLine("Testing {0} seeks, longest seek took {1:F3} ms, fastest one took {2:F3} ms. ({3:F3} ms average)", - results.seekTimes, results.seekMax, results.seekMin, results.seekTotal / 1000); + results.SeekTimes, results.SeekMax, results.SeekMin, results.SeekTotal / 1000); Core.Statistics.AddMediaScan((long)results.A, (long)results.B, (long)results.C, (long)results.D, - (long)results.E, (long)results.F, (long)results.blocks, (long)results.errored, - (long)(results.blocks - results.errored)); + (long)results.E, (long)results.F, (long)results.Blocks, (long)results.Errored, + (long)(results.Blocks - results.Errored)); Core.Statistics.AddCommand("media-scan"); } } diff --git a/DiscImageChef/Commands/PrintHex.cs b/DiscImageChef/Commands/PrintHex.cs index 2ed2aa352..fa1541fc3 100644 --- a/DiscImageChef/Commands/PrintHex.cs +++ b/DiscImageChef/Commands/PrintHex.cs @@ -33,13 +33,13 @@ using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class PrintHex { - internal static void doPrintHex(PrintHexOptions options) + internal static void DoPrintHex(PrintHexOptions options) { DicConsole.DebugWriteLine("PrintHex command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("PrintHex command", "--verbose={0}", options.Verbose); @@ -73,7 +73,7 @@ namespace DiscImageChef.Commands DicConsole.WriteLine("Sector {0}", options.StartSector + i); byte[] sector; - if(inputFormat.ImageInfo.readableSectorTags == null) + if(inputFormat.ImageInfo.ReadableSectorTags == null) { DicConsole .WriteLine("Requested sectors with tags, unsupported by underlying image format, printing only user data."); @@ -81,7 +81,7 @@ namespace DiscImageChef.Commands } else { - if(inputFormat.ImageInfo.readableSectorTags.Count == 0) + if(inputFormat.ImageInfo.ReadableSectorTags.Count == 0) { DicConsole .WriteLine("Requested sectors with tags, unsupported by underlying image format, printing only user data."); diff --git a/DiscImageChef/Commands/Statistics.cs b/DiscImageChef/Commands/Statistics.cs index 231484778..ac6b29c07 100644 --- a/DiscImageChef/Commands/Statistics.cs +++ b/DiscImageChef/Commands/Statistics.cs @@ -37,7 +37,7 @@ namespace DiscImageChef.Commands { static class Statistics { - internal static void showStats() + internal static void ShowStats() { if(Core.Statistics.AllStats == null) { diff --git a/DiscImageChef/Commands/Verify.cs b/DiscImageChef/Commands/Verify.cs index 6fa68e51b..9c307c7e3 100644 --- a/DiscImageChef/Commands/Verify.cs +++ b/DiscImageChef/Commands/Verify.cs @@ -35,13 +35,13 @@ using System.Collections.Generic; using DiscImageChef.Console; using DiscImageChef.Core; using DiscImageChef.Filters; -using DiscImageChef.ImagePlugins; +using DiscImageChef.DiscImages; namespace DiscImageChef.Commands { static class Verify { - internal static void doVerify(VerifyOptions options) + internal static void DoVerify(VerifyOptions options) { DicConsole.DebugWriteLine("Verify command", "--debug={0}", options.Debug); DicConsole.DebugWriteLine("Verify command", "--verbose={0}", options.Verbose); @@ -68,7 +68,7 @@ namespace DiscImageChef.Commands inputFormat.OpenImage(inputFilter); Core.Statistics.AddMediaFormat(inputFormat.GetImageFormat()); - Core.Statistics.AddMedia(inputFormat.ImageInfo.mediaType, false); + Core.Statistics.AddMedia(inputFormat.ImageInfo.MediaType, false); Core.Statistics.AddFilter(inputFilter.Name); bool? correctDisc = null; @@ -79,11 +79,11 @@ namespace DiscImageChef.Commands if(options.VerifyDisc) { - DateTime StartCheck = DateTime.UtcNow; + DateTime startCheck = DateTime.UtcNow; bool? discCheckStatus = inputFormat.VerifyMediaImage(); - DateTime EndCheck = DateTime.UtcNow; + DateTime endCheck = DateTime.UtcNow; - TimeSpan CheckTime = EndCheck - StartCheck; + TimeSpan checkTime = endCheck - startCheck; switch(discCheckStatus) { @@ -99,7 +99,7 @@ namespace DiscImageChef.Commands } correctDisc = discCheckStatus; - DicConsole.VerboseWriteLine("Checking disc image checksums took {0} seconds", CheckTime.TotalSeconds); + DicConsole.VerboseWriteLine("Checking disc image checksums took {0} seconds", checkTime.TotalSeconds); } if(options.VerifySectors) @@ -113,10 +113,10 @@ namespace DiscImageChef.Commands } catch { formatHasTracks = false; } - DateTime StartCheck; - DateTime EndCheck; - List<ulong> FailingLBAs = new List<ulong>(); - List<ulong> UnknownLBAs = new List<ulong>(); + DateTime startCheck; + DateTime endCheck; + List<ulong> failingLbas = new List<ulong>(); + List<ulong> unknownLbas = new List<ulong>(); bool? checkStatus = null; if(formatHasTracks) @@ -124,7 +124,7 @@ namespace DiscImageChef.Commands List<Track> inputTracks = inputFormat.GetTracks(); ulong currentSectorAll = 0; - StartCheck = DateTime.UtcNow; + startCheck = DateTime.UtcNow; foreach(Track currentTrack in inputTracks) { ulong remainingSectors = currentTrack.TrackEndSector - currentTrack.TrackStartSector; @@ -135,26 +135,26 @@ namespace DiscImageChef.Commands DicConsole.Write("\rChecking sector {0} of {1}, on track {2}", currentSectorAll, inputFormat.GetSectors(), currentTrack.TrackSequence); - List<ulong> tempFailingLBAs; - List<ulong> tempUnknownLBAs; + List<ulong> tempfailingLbas; + List<ulong> tempunknownLbas; bool? tempStatus; if(remainingSectors < 512) tempStatus = inputFormat.VerifySectors(currentSector, (uint)remainingSectors, - currentTrack.TrackSequence, out tempFailingLBAs, - out tempUnknownLBAs); + currentTrack.TrackSequence, out tempfailingLbas, + out tempunknownLbas); else tempStatus = inputFormat.VerifySectors(currentSector, 512, currentTrack.TrackSequence, - out tempFailingLBAs, out tempUnknownLBAs); + out tempfailingLbas, out tempunknownLbas); if(checkStatus == null || tempStatus == null) checkStatus = null; else if(checkStatus == false || tempStatus == false) checkStatus = false; else if(checkStatus == true && tempStatus == true) checkStatus = true; else checkStatus = null; - foreach(ulong failLBA in tempFailingLBAs) FailingLBAs.Add(failLBA); + foreach(ulong failLba in tempfailingLbas) failingLbas.Add(failLba); - foreach(ulong unknownLBA in tempUnknownLBAs) UnknownLBAs.Add(unknownLBA); + foreach(ulong unknownLba in tempunknownLbas) unknownLbas.Add(unknownLba); if(remainingSectors < 512) { @@ -171,37 +171,37 @@ namespace DiscImageChef.Commands } } - EndCheck = DateTime.UtcNow; + endCheck = DateTime.UtcNow; } else { ulong remainingSectors = inputFormat.GetSectors(); ulong currentSector = 0; - StartCheck = DateTime.UtcNow; + startCheck = DateTime.UtcNow; while(remainingSectors > 0) { DicConsole.Write("\rChecking sector {0} of {1}", currentSector, inputFormat.GetSectors()); - List<ulong> tempFailingLBAs; - List<ulong> tempUnknownLBAs; + List<ulong> tempfailingLbas; + List<ulong> tempunknownLbas; bool? tempStatus; if(remainingSectors < 512) tempStatus = inputFormat.VerifySectors(currentSector, (uint)remainingSectors, - out tempFailingLBAs, out tempUnknownLBAs); + out tempfailingLbas, out tempunknownLbas); else tempStatus = - inputFormat.VerifySectors(currentSector, 512, out tempFailingLBAs, out tempUnknownLBAs); + inputFormat.VerifySectors(currentSector, 512, out tempfailingLbas, out tempunknownLbas); if(checkStatus == null || tempStatus == null) checkStatus = null; else if(checkStatus == false || tempStatus == false) checkStatus = false; else if(checkStatus == true && tempStatus == true) checkStatus = true; else checkStatus = null; - foreach(ulong failLBA in tempFailingLBAs) FailingLBAs.Add(failLBA); + foreach(ulong failLba in tempfailingLbas) failingLbas.Add(failLba); - foreach(ulong unknownLBA in tempUnknownLBAs) UnknownLBAs.Add(unknownLBA); + foreach(ulong unknownLba in tempunknownLbas) unknownLbas.Add(unknownLba); if(remainingSectors < 512) { @@ -215,10 +215,10 @@ namespace DiscImageChef.Commands } } - EndCheck = DateTime.UtcNow; + endCheck = DateTime.UtcNow; } - TimeSpan CheckTime = EndCheck - StartCheck; + TimeSpan checkTime = endCheck - startCheck; DicConsole.Write("\r"); @@ -235,31 +235,31 @@ namespace DiscImageChef.Commands break; } - DicConsole.VerboseWriteLine("Checking sector checksums took {0} seconds", CheckTime.TotalSeconds); + DicConsole.VerboseWriteLine("Checking sector checksums took {0} seconds", checkTime.TotalSeconds); if(options.Verbose) { DicConsole.VerboseWriteLine("LBAs with error:"); - if(FailingLBAs.Count == (int)inputFormat.GetSectors()) + if(failingLbas.Count == (int)inputFormat.GetSectors()) DicConsole.VerboseWriteLine("\tall sectors."); else - for(int i = 0; i < FailingLBAs.Count; i++) DicConsole.VerboseWriteLine("\t{0}", FailingLBAs[i]); + for(int i = 0; i < failingLbas.Count; i++) DicConsole.VerboseWriteLine("\t{0}", failingLbas[i]); DicConsole.WriteLine("LBAs without checksum:"); - if(UnknownLBAs.Count == (int)inputFormat.GetSectors()) + if(unknownLbas.Count == (int)inputFormat.GetSectors()) DicConsole.VerboseWriteLine("\tall sectors."); else - for(int i = 0; i < UnknownLBAs.Count; i++) DicConsole.VerboseWriteLine("\t{0}", UnknownLBAs[i]); + for(int i = 0; i < unknownLbas.Count; i++) DicConsole.VerboseWriteLine("\t{0}", unknownLbas[i]); } DicConsole.WriteLine("Total sectors........... {0}", inputFormat.GetSectors()); - DicConsole.WriteLine("Total errors............ {0}", FailingLBAs.Count); - DicConsole.WriteLine("Total unknowns.......... {0}", UnknownLBAs.Count); - DicConsole.WriteLine("Total errors+unknowns... {0}", FailingLBAs.Count + UnknownLBAs.Count); + DicConsole.WriteLine("Total errors............ {0}", failingLbas.Count); + DicConsole.WriteLine("Total unknowns.......... {0}", unknownLbas.Count); + DicConsole.WriteLine("Total errors+unknowns... {0}", failingLbas.Count + unknownLbas.Count); totalSectors = (long)inputFormat.GetSectors(); - errorSectors = FailingLBAs.Count; - unknownSectors = UnknownLBAs.Count; + errorSectors = failingLbas.Count; + unknownSectors = unknownLbas.Count; correctSectors = totalSectors - errorSectors - unknownSectors; } diff --git a/DiscImageChef/Main.cs b/DiscImageChef/Main.cs index 1508cb565..e02afebce 100644 --- a/DiscImageChef/Main.cs +++ b/DiscImageChef/Main.cs @@ -66,61 +66,61 @@ namespace DiscImageChef if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Analyze.doAnalyze(opts); + Commands.Analyze.DoAnalyze(opts); }).WithParsed<CompareOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Compare.doCompare(opts); + Commands.Compare.DoCompare(opts); }).WithParsed<ChecksumOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Checksum.doChecksum(opts); + Commands.Checksum.DoChecksum(opts); }).WithParsed<EntropyOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Entropy.doEntropy(opts); + Commands.Entropy.DoEntropy(opts); }).WithParsed<VerifyOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Verify.doVerify(opts); + Commands.Verify.DoVerify(opts); }).WithParsed<PrintHexOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.PrintHex.doPrintHex(opts); + Commands.PrintHex.DoPrintHex(opts); }).WithParsed<DecodeOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Decode.doDecode(opts); + Commands.Decode.DoDecode(opts); }).WithParsed<DeviceInfoOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.DeviceInfo.doDeviceInfo(opts); + Commands.DeviceInfo.DoDeviceInfo(opts); }).WithParsed<MediaInfoOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.MediaInfo.doMediaInfo(opts); + Commands.MediaInfo.DoMediaInfo(opts); }).WithParsed<MediaScanOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.MediaScan.doMediaScan(opts); + Commands.MediaScan.DoMediaScan(opts); }).WithParsed<FormatsOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; @@ -132,43 +132,43 @@ namespace DiscImageChef if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Benchmark.doBenchmark(opts); + Commands.Benchmark.DoBenchmark(opts); }).WithParsed<CreateSidecarOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.CreateSidecar.doSidecar(opts); + Commands.CreateSidecar.DoSidecar(opts); }).WithParsed<DumpMediaOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.DumpMedia.doDumpMedia(opts); + Commands.DumpMedia.DoDumpMedia(opts); }).WithParsed<DeviceReportOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.DeviceReport.doDeviceReport(opts); + Commands.DeviceReport.DoDeviceReport(opts); }).WithParsed<LsOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.Ls.doLs(opts); + Commands.Ls.DoLs(opts); }).WithParsed<ExtractFilesOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.ExtractFiles.doExtractFiles(opts); + Commands.ExtractFiles.DoExtractFiles(opts); }).WithParsed<ListDevicesOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; if(opts.Verbose) DicConsole.VerboseWriteLineEvent += System.Console.WriteLine; PrintCopyright(); - Commands.ListDevices.doListDevices(opts); + Commands.ListDevices.DoListDevices(opts); }).WithParsed<ListEncodingsOptions>(opts => { if(opts.Debug) DicConsole.DebugWriteLineEvent += System.Console.Error.WriteLine; @@ -178,11 +178,11 @@ namespace DiscImageChef }).WithParsed<ConfigureOptions>(opts => { PrintCopyright(); - Commands.Configure.doConfigure(); + Commands.Configure.DoConfigure(); }).WithParsed<StatsOptions>(opts => { PrintCopyright(); - Commands.Statistics.showStats(); + Commands.Statistics.ShowStats(); }).WithNotParsed(errs => Environment.Exit(1)); Core.Statistics.SaveStats(); @@ -191,13 +191,13 @@ namespace DiscImageChef static void PrintCopyright() { object[] attributes = typeof(MainClass).Assembly.GetCustomAttributes(typeof(AssemblyTitleAttribute), false); - string AssemblyTitle = ((AssemblyTitleAttribute)attributes[0]).Title; + string assemblyTitle = ((AssemblyTitleAttribute)attributes[0]).Title; attributes = typeof(MainClass).Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); - Version AssemblyVersion = typeof(MainClass).Assembly.GetName().Version; - string AssemblyCopyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + Version assemblyVersion = typeof(MainClass).Assembly.GetName().Version; + string assemblyCopyright = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; - DicConsole.WriteLine("{0} {1}", AssemblyTitle, AssemblyVersion); - DicConsole.WriteLine("{0}", AssemblyCopyright); + DicConsole.WriteLine("{0} {1}", assemblyTitle, assemblyVersion); + DicConsole.WriteLine("{0}", assemblyCopyright); DicConsole.WriteLine(); } } diff --git a/DiscImageChef/Options.cs b/DiscImageChef/Options.cs index 2ef1a3ed0..3e8d89094 100644 --- a/DiscImageChef/Options.cs +++ b/DiscImageChef/Options.cs @@ -84,13 +84,13 @@ namespace DiscImageChef public bool DoAdler32 { get; set; } [Option("crc16", Default = true, HelpText = "Calculates CRC16.")] - public bool DoCRC16 { get; set; } + public bool DoCrc16 { get; set; } [Option('c', "crc32", Default = true, HelpText = "Calculates CRC32.")] - public bool DoCRC32 { get; set; } + public bool DoCrc32 { get; set; } [Option("crc64", Default = false, HelpText = "Calculates CRC64 (ECMA).")] - public bool DoCRC64 { get; set; } + public bool DoCrc64 { get; set; } /*[Option("fletcher16", Default = false, HelpText = "Calculates Fletcher-16.")] @@ -101,22 +101,22 @@ namespace DiscImageChef public bool DoFletcher32 { get; set; }*/ [Option('m', "md5", Default = true, HelpText = "Calculates MD5.")] - public bool DoMD5 { get; set; } + public bool DoMd5 { get; set; } [Option("ripemd160", Default = false, HelpText = "Calculates RIPEMD160.")] - public bool DoRIPEMD160 { get; set; } + public bool DoRipemd160 { get; set; } [Option('s', "sha1", Default = true, HelpText = "Calculates SHA1.")] - public bool DoSHA1 { get; set; } + public bool DoSha1 { get; set; } [Option("sha256", Default = false, HelpText = "Calculates SHA256.")] - public bool DoSHA256 { get; set; } + public bool DoSha256 { get; set; } [Option("sha384", Default = false, HelpText = "Calculates SHA384.")] - public bool DoSHA384 { get; set; } + public bool DoSha384 { get; set; } [Option("sha512", Default = false, HelpText = "Calculates SHA512.")] - public bool DoSHA512 { get; set; } + public bool DoSha512 { get; set; } [Option('f', "spamsum", Default = true, HelpText = "Calculates SpamSum fuzzy hash.")] public bool DoSpamSum { get; set; } @@ -223,11 +223,11 @@ namespace DiscImageChef [Option('m', "mhdd-log", Required = false, Default = "", HelpText = "Write a log of the scan in the format used by MHDD.")] - public string MHDDLogPath { get; set; } + public string MhddLogPath { get; set; } [Option('b', "ibg-log", Required = false, Default = "", HelpText = "Write a log of the scan in the format used by ImgBurn.")] - public string IBGLogPath { get; set; } + public string IbgLogPath { get; set; } } [Verb("formats", HelpText = "Lists all supported disc images, partition schemes and file systems.")]