4d886dae25
REFACTOR: Invert 'if' statement to reduce nesting.
2017-12-21 06:06:19 +00:00
9cd1869d1d
REFACTOR: Convert 'if' statement to 'switch' statement.
2017-12-21 04:43:29 +00:00
ff5540ff5d
REFACTOR: Removed else statements.
2017-12-21 02:57:32 +00:00
bce69c9161
REFACTOR: Use preferred braces style.
2017-12-21 00:44:33 +00:00
e9443388ee
REFACTOR: Use preferred braces style.
2017-12-20 23:07:46 +00:00
Michael D
b030712b38
Fix unsigned vs. signed problem
2017-12-20 18:51:03 +01:00
b0936d51c5
REFACTOR: Remove redundant parentheses.
2017-12-20 17:26:28 +00:00
a4650c61aa
REFACTOR: Fixed MOST name inconsistencies.
2017-12-20 17:15:37 +00:00
e6f6ace80b
REFACTOR: Reformat code.
2017-12-19 20:33:05 +00:00
77edc7c91c
REFACTOR: Sort and removed usings.
2017-12-19 19:33:51 +00:00
1a39168f19
REFACTOR: Updated comments and copyright date.
2017-12-19 03:51:05 +00:00
8c6d05eed3
FEATURE FREEZE: Removed TODO lines already implemented.
2017-12-19 01:13:31 +00:00
c30a547b17
Corrected incorrect handling of ATA READ LONG, READ TOC/PMA/ATIP and PIONEER READ CD-DA MSF commands.
2017-12-18 17:53:46 +00:00
8f988c6e8b
FreeBSD triple panics on parallel ATA devices.
2017-12-11 19:29:19 +00:00
e2888eaf27
Added support for sending SCSI commands in FreeBSD. Not working because CAM is leaving the buffer untouched.
2017-12-10 21:00:20 +00:00
c7d187b298
Added support for list-devices on FreeBSD.
2017-12-08 03:19:28 +00:00
4cd0ec53e9
Added support for SecureDigital / MultiMediaCard on Windows.
2017-12-06 23:05:59 +00:00
d660ec93d1
Added code to retrieve USB binary descriptors for Windows.
2017-12-06 20:38:10 +00:00
be52156170
Added code to retrieve USB IDs and strings for Windows.
2017-12-06 19:30:03 +00:00
df076b5e0f
Added code to retrieve NT device path (will be needed later).
2017-12-06 13:46:35 +00:00
bc72ff1642
Starting with Linux 4.8 the SD/MMC OCR is shown also in /sys, so cache
...
it if present.
2017-09-29 13:05:50 +00:00
a82071a3e3
Solved reading multiple MMC/SD commands at a time.
2017-09-29 13:01:16 +00:00
08cb387c75
Use cached CID register to fill device variables.
2017-09-28 19:48:44 +00:00
4f69f31e4c
If present, use cached CID, CSD and CSR registers instead of sending
...
the command to the device.
2017-09-28 19:25:24 +00:00
cc6627ccbe
For MMC/SD, on Linux, cache the kernel provided CID, CSD and SCR
...
registers from /sys.
2017-09-28 19:14:50 +00:00
c5acf2082e
Corrected some command values.
2017-09-28 18:24:16 +00:00
b399bfaea2
Under Linux do not send SCSI INQUIRY if device path name doesn's
...
correspond to a SCSI node.
2017-09-28 17:54:07 +00:00
b21c6f2c63
Manually mark manufacturer as "ATA" on Windows so it becomes treated like that.
2017-09-10 18:15:44 +01:00
0f24a8f6d6
Added tests for Archive Corp. vendor commands.
2017-09-08 20:34:14 +01:00
849a6f2847
Added tests for S.M.A.R.T. commands.
2017-09-08 18:20:14 +01:00
9ea7b076af
Added tests for Media Card Pass Through commands.
2017-09-08 18:00:01 +01:00
8cc805f031
Check device type under Windows before sending SCSI INQUIRY as it seems all devices answer correctly to it.
2017-09-07 16:47:06 +01:00
258c33d61e
Windows IOCTL bool is reversed.
2017-09-06 20:46:56 +01:00
3e02dd82ea
Added support for "list-devices" command on Windows.
2017-08-22 03:40:43 +01:00
6e441ddda1
Implemented "list-devices" command for Linux.
2017-08-21 21:04:44 +01:00
1df2589b39
Added correct metadata for XGD structures.
2017-06-20 06:42:09 +01:00
09290e8c69
Typo correction.
2017-05-23 19:01:07 +01:00
a772a99f16
Added Kreon commands.
2017-05-23 18:45:09 +01:00
869b49d711
Updated copyright string.
2017-05-19 20:28:49 +01:00
0c9dfaa11f
Add MMC/SecureDigital device support. Not yet used because of
...
a bad implementation of SEND_CSD and SEND_CID commands (TODO).
2016-10-22 22:58:01 +01:00
8b9d678893
Added PCMCIA support.
2016-10-17 04:41:27 +01:00
8b8fe9a9cc
* CICMMetadata:
...
Updated to last upstream.
* DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs:
Added DDS-2, DDS-3, DDS-4 with no medium type code.
* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
Added REQUEST SENSE command.
* DiscImageChef.Devices/Device/ScsiCommands/SSC.cs:
Added SPACE command.
* DiscImageChef.Devices/Enums.cs:
Added enumeration for SPACE command codes.
* DiscImageChef.Metadata/MediaType.cs:
Added support for DDS, DDS-2, DDS-3, DDS-4.
2016-10-12 06:16:41 +01:00
12daf68c1f
* DiscImageChef.Decoders/SCSI/Modes.cs:
...
Added DDS-2.
Corrected casting of density enumeration.
* DiscImageChef.Decoders/SCSI/Types.cs:
Added DDS-2
* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
Corrected buffer size for MODE SENSE (6)
* DiscImageChef/Commands/DeviceInfo.cs:
Removed some spurious brackets.
2016-10-10 23:58:35 +01:00
a63ba13b6b
Refactor and code cleanup.
2016-07-28 22:25:26 +01:00
b2ab03407f
* LICENSE.MIT:
...
* LICENSE.LGPL:
Added LICENSE files for LGPL and MIT licenses.
* DiscImageChef.Devices/Enums.cs:
* DiscImageChef.Partitions/MBR.cs:
* DiscImageChef.Partitions/RDB.cs:
* DiscImageChef.DiscImages/GDI.cs:
* DiscImageChef.Partitions/Sun.cs:
* DiscImageChef.DiscImages/VHD.cs:
* DiscImageChef.Partitions/GPT.cs:
* DiscImageChef.Filesystems/FFS.cs:
* DiscImageChef.Filesystems/FAT.cs:
* DiscImageChef.Partitions/NeXT.cs:
* DiscImageChef.Devices/Command.cs:
* DiscImageChef.DiscImages/Nero.cs:
* DiscImageChef.Decoders/CD/PMA.cs:
* DiscImageChef.Decoders/CD/TOC.cs:
* DiscImageChef.Filesystems/BFS.cs:
* DiscImageChef.Filesystems/ODS.cs:
* DiscImageChef.Helpers/PrintHex.cs:
* DiscImageChef.Helpers/Swapping.cs:
* DiscImageChef.Decoders/DVD/PRI.cs:
* DiscImageChef.Decoders/DVD/DMI.cs:
* DiscImageChef.Decoders/DVD/DDS.cs:
* DiscImageChef.Decoders/DVD/RMD.cs:
* DiscImageChef.Decoders/DVD/UDI.cs:
* DiscImageChef.Partitions/Atari.cs:
* DiscImageChef.Decoders/DVD/BCA.cs:
* DiscImageChef.Filesystems/SysV.cs:
* DiscImageChef.Filesystems/HPFS.cs:
* DiscImageChef.Filesystems/NTFS.cs:
* DiscImageChef.Filesystems/APFS.cs:
* DiscImageChef.Decoders/DVD/PFI.cs:
* DiscImageChef.Decoders/CD/ATIP.cs:
* DiscImageChef.Filesystems/Acorn.cs:
* DiscImageChef.DiscImages/CDRWin.cs:
* DiscImageChef.DiscImages/CDRDAO.cs:
* DiscImageChef.Filesystems/BTRFS.cs:
* DiscImageChef.Decoders/Xbox/DMI.cs:
* DiscImageChef.Helpers/ArrayFill.cs:
* DiscImageChef.Settings/Settings.cs:
* DiscImageChef.Filesystems/Opera.cs:
* DiscImageChef.Filesystems/extFS.cs:
* DiscImageChef.Decoders/DVD/CPRM.cs:
* DiscImageChef.Decoders/DVD/ADIP.cs:
* DiscImageChef.Decoders/CD/Enums.cs:
* DiscImageChef.Decoders/DVD/AACS.cs:
* DiscImageChef.Decoders/SCSI/EVPD.cs:
* DiscImageChef.Filesystems/ProDOS.cs:
* DiscImageChef.Metadata/MediaType.cs:
* DiscImageChef.Console/DicConsole.cs:
* DiscImageChef.Decoders/DVD/Spare.cs:
* DiscImageChef.Filesystems/ext2FS.cs:
* DiscImageChef.Decoders/DVD/Enums.cs:
* DiscImageChef.Filesystems/Symbian.cs:
* DiscImageChef.Decoders/SCSI/Types.cs:
* DiscImageChef.Filesystems/UNIXBFS.cs:
* DiscImageChef.DiscImages/TeleDisk.cs:
* DiscImageChef.Decoders/SCSI/Sense.cs:
* DiscImageChef.Decoders/CD/FullTOC.cs:
* DiscImageChef.Decoders/Blu-ray/DI.cs:
* DiscImageChef.Decoders/ATA/Errors.cs:
* DiscImageChef.Filesystems/ISO9660.cs:
* DiscImageChef.Filesystems/MinixFS.cs:
* DiscImageChef.Devices/Linux/Enums.cs:
* DiscImageChef.Filesystems/SolarFS.cs:
* DiscImageChef.Filesystems/Structs.cs:
* DiscImageChef.DiscImages/Apple2MG.cs:
* DiscImageChef.Decoders/SCSI/Modes.cs:
* DiscImageChef.Metadata/Dimensions.cs:
* DiscImageChef.Partitions/AppleMap.cs:
* DiscImageChef.Decoders/Floppy/ISO.cs:
* DiscImageChef.Decoders/DVD/Layers.cs:
* DiscImageChef.Decoders/CD/Session.cs:
* DiscImageChef.Decoders/SCSI/Enums.cs:
* DiscImageChef.Filesystems/Nintendo.cs:
* DiscImageChef.Helpers/DateHandlers.cs:
* DiscImageChef.Filesystems/AmigaDOS.cs:
* DiscImageChef.DiscImages/ImageInfo.cs:
* DiscImageChef.Checksums/MD5Context.cs:
* DiscImageChef.Devices/Linux/Extern.cs:
* DiscImageChef.Filesystems/AppleHFS.cs:
* DiscImageChef.Filesystems/AppleMFS.cs:
* DiscImageChef.Helpers/ArrayIsEmpty.cs:
* DiscImageChef.Decoders/Blu-ray/BCA.cs:
* DiscImageChef.Decoders/Blu-ray/DDS.cs:
* DiscImageChef.Filesystems/PCEngine.cs:
* DiscImageChef.Decoders/ATA/Identify.cs:
* DiscImageChef.Devices/Linux/Command.cs:
* DiscImageChef.Devices/FreeBSD/Enums.cs:
* DiscImageChef.Decoders/SCSI/Inquiry.cs:
* DiscImageChef.Metadata/DeviceReport.cs:
* DiscImageChef.Decoders/Floppy/Amiga.cs:
* DiscImageChef.Devices/Linux/Structs.cs:
* DiscImageChef.Devices/Windows/Enums.cs:
* DiscImageChef.Decoders/DVD/CSS&CPRM.cs:
* DiscImageChef.Checksums/SHA1Context.cs:
* DiscImageChef.DiscImages/DiskCopy42.cs:
* DiscImageChef.Partitions/PartPlugin.cs:
* DiscImageChef.CommonTypes/Partition.cs:
* DiscImageChef.Decoders/Floppy/Enums.cs:
* DiscImageChef.CommonTypes/MediaType.cs:
* DiscImageChef.Decoders/Floppy/Apple2.cs:
* DiscImageChef.Devices/Windows/Extern.cs:
* DiscImageChef.Decoders/SCSI/MMC/CPRM.cs:
* DiscImageChef.Helpers/StringHandlers.cs:
* DiscImageChef.DiscImages/ImagePlugin.cs:
* DiscImageChef.Checksums/CRC64Context.cs:
* DiscImageChef.Checksums/CRC32Context.cs:
* DiscImageChef.DiscImages/ZZZRawImage.cs:
* DiscImageChef.Checksums/CRC16Context.cs:
* DiscImageChef.Filesystems/LisaFS/Dir.cs:
* DiscImageChef.Decoders/DVD/Cartridge.cs:
* DiscImageChef.Decoders/Blu-ray/Spare.cs:
* DiscImageChef.Filesystems/Filesystem.cs:
* DiscImageChef.Decoders/SCSI/MMC/AACS.cs:
* DiscImageChef.Devices/FreeBSD/Extern.cs:
* DiscImageChef.Devices/Device/Commands.cs:
* DiscImageChef.Checksums/SHA384Context.cs:
* DiscImageChef.Devices/FreeBSD/Command.cs:
* DiscImageChef.Checksums/SHA512Context.cs:
* DiscImageChef.Decoders/SCSI/MMC/Enums.cs:
* DiscImageChef.Devices/Windows/Command.cs:
* DiscImageChef.Devices/FreeBSD/Structs.cs:
* DiscImageChef.Devices/Windows/Structs.cs:
* DiscImageChef.Filesystems/LisaFS/Info.cs:
* DiscImageChef.Checksums/SHA256Context.cs:
* DiscImageChef.Filesystems/LisaFS/File.cs:
* DiscImageChef.Filesystems/AppleHFSPlus.cs:
* DiscImageChef.Filesystems/LisaFS/Super.cs:
* DiscImageChef.Filesystems/LisaFS/Xattr.cs:
* DiscImageChef.Checksums/Adler32Context.cs:
* DiscImageChef.Decoders/Floppy/System34.cs:
* DiscImageChef.Checksums/SpamSumContext.cs:
* DiscImageChef.Decoders/SCSI/MMC/Hybrid.cs:
* DiscImageChef.Devices/Device/Variables.cs:
* DiscImageChef.Filesystems/LisaFS/Consts.cs:
* DiscImageChef.Filesystems/LisaFS/LisaFS.cs:
* DiscImageChef.Decoders/Floppy/Commodore.cs:
* DiscImageChef.Checksums/FletcherContext.cs:
* DiscImageChef.Filesystems/LisaFS/Extent.cs:
* DiscImageChef.Devices/Device/Destructor.cs:
* DiscImageChef.Decoders/Floppy/AppleSony.cs:
* DiscImageChef.Filesystems/LisaFS/Structs.cs:
* DiscImageChef.Decoders/SCSI/VendorString.cs:
* DiscImageChef.Decoders/SCSI/MMC/Features.cs:
* DiscImageChef.Devices/Device/Constructor.cs:
* DiscImageChef.Checksums/RIPEMD160Context.cs:
* DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs:
* DiscImageChef.Decoders/Blu-ray/Cartridge.cs:
* DiscImageChef.Decoders/Floppy/System3740.cs:
* DiscImageChef.Filesystems/LisaFS/Encoding.cs:
* DiscImageChef.Decoders/SCSI/ModesEncoders.cs:
* DiscImageChef.CommonTypes/MediaTypeFromSCSI.cs:
* DiscImageChef.Helpers/BigEndianBitConverter.cs:
* DiscImageChef.Decoders/Floppy/Perpendicular.cs:
* DiscImageChef.Decoders/SCSI/SSC/BlockLimits.cs:
* DiscImageChef.Decoders/SCSI/MMC/WriteProtect.cs:
* DiscImageChef.Devices/Device/ScsiCommands/HP.cs:
* DiscImageChef.Devices/Device/AtaCommands/Cfa.cs:
* DiscImageChef.Devices/Device/ScsiCommands/NEC.cs:
* DiscImageChef.Helpers/EndianAwareBinaryReader.cs:
* DiscImageChef.Devices/Device/ScsiCommands/MMC.cs:
* DiscImageChef.Devices/Device/AtaCommands/MCPT.cs:
* DiscImageChef.Devices/Device/ScsiCommands/SSC.cs:
* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
* DiscImageChef.Devices/Device/ScsiCommands/SMC.cs:
* DiscImageChef.Devices/Device/ScsiCommands/SBC.cs:
* DiscImageChef.Metadata/Properties/AssemblyInfo.cs:
* DiscImageChef.Devices/Device/AtaCommands/Atapi.cs:
* DiscImageChef.Devices/Device/AtaCommands/Ata28.cs:
* DiscImageChef.Devices/Device/AtaCommands/Smart.cs:
* DiscImageChef.Decoders/SCSI/SSC/DensitySupport.cs:
* DiscImageChef.Devices/Device/AtaCommands/Ata48.cs:
* DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs:
* DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs:
* DiscImageChef.Devices/Device/ScsiCommands/SyQuest.cs:
* DiscImageChef.Devices/Device/ScsiCommands/Plextor.cs:
* DiscImageChef.Devices/Device/ScsiCommands/Plasmon.cs:
* DiscImageChef.Devices/Device/ScsiCommands/Pioneer.cs:
* DiscImageChef.Devices/Device/ScsiCommands/Adaptec.cs:
* DiscImageChef.Devices/Device/ScsiCommands/Fujitsu.cs:
* DiscImageChef.Devices/Device/ScsiCommands/HL-DT-ST.cs:
* DiscImageChef.Devices/Device/ScsiCommands/Certance.cs:
* DiscImageChef.Decoders/SCSI/DiscStructureCapabilities.cs:
* DiscImageChef.Devices/Device/ScsiCommands/ArchiveCorp.cs:
Relicensed as LGPL.
Updated standard header.
* DiscImageChef/Main.cs:
* DiscImageChef/Plugins.cs:
* DiscImageChef/Options.cs:
* DiscImageChef/Commands/Ls.cs:
* DiscImageChef/Core/IBGLog.cs:
* DiscImageChef/Core/MHDDLog.cs:
* DiscImageChef/AssemblyInfo.cs:
* DiscImageChef/Core/Checksum.cs:
* DiscImageChef/Commands/Decode.cs:
* DiscImageChef/Core/Statistics.cs:
* DiscImageChef/Commands/Verify.cs:
* DiscImageChef/Commands/Formats.cs:
* DiscImageChef/Commands/Entropy.cs:
* DiscImageChef/Commands/Compare.cs:
* DiscImageChef.Interop/DetectOS.cs:
* DiscImageChef/Commands/Analyze.cs:
* DiscImageChef/Commands/Commands.cs:
* DiscImageChef/Commands/PrintHex.cs:
* DiscImageChef/Commands/Checksum.cs:
* DiscImageChef/DetectImageFormat.cs:
* DiscImageChef/Commands/DumpMedia.cs:
* DiscImageChef/Commands/Benchmark.cs:
* DiscImageChef/Commands/Configure.cs:
* DiscImageChef/Commands/MediaInfo.cs:
* DiscImageChef.Interop/PlatformID.cs:
* DiscImageChef/Commands/MediaScan.cs:
* DiscImageChef/Commands/Statistics.cs:
* DiscImageChef/Commands/DeviceInfo.cs:
* DiscImageChef.Checksums/ReedSolomon.cs:
* DiscImageChef/Commands/DeviceReport.cs:
* DiscImageChef/Commands/ExtractFiles.cs:
* DiscImageChef.Checksums/CDChecksums.cs:
* DiscImageChef/Commands/CreateSidecar.cs:
Updated standard header.
* DiscImageChef.Checksums/DiscImageChef.Checksums.csproj:
Relicensed project as LGPL.
Updated standard header.
Embed license as resource.
* DiscImageChef.Console/DiscImageChef.Console.csproj:
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
* DiscImageChef.Helpers/DiscImageChef.Helpers.csproj:
* DiscImageChef.Settings/DiscImageChef.Settings.csproj:
* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
* DiscImageChef.Metadata/DiscImageChef.Metadata.csproj:
* DiscImageChef.Partitions/DiscImageChef.Partitions.csproj:
* DiscImageChef.DiscImages/DiscImageChef.DiscImages.csproj:
* DiscImageChef.Filesystems/DiscImageChef.Filesystems.csproj:
* DiscImageChef.CommonTypes/DiscImageChef.CommonTypes.csproj:
Relicensed as LGPL.
Updated standard header.
Embed license as resource.
* DiscImageChef/DiscImageChef.csproj:
* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
Updated standard header.
Embed license as resource.
2016-07-28 18:13:49 +01:00
f8bc81d4f5
Reformatted.
2016-04-19 02:11:47 +01:00
98aacadfe9
* DiscImageChef.Devices/Device/AtaCommands/Ata28.cs:
...
Correct SEEK command to not transfer anything.
* DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs:
Correct SEEK command to not transfer anything.
Added differentiation between READ and READ WITH RETRIES for
CHS mode.
Changed blocksize to unsigned on READ LONG.
* DiscImageChef.Devices/Device/AtaCommands/MCPT.cs:
Change MCPT enable and disable commands to use CHS
registers.
* DiscImageChef.Devices/Linux/Command.cs:
Linux kernel granularity for SG_IO is only 1ms, use .NET
counters for faster times. Solves "infinity" speeds on SSDs.
* DiscImageChef/Commands/DumpMedia.cs:
* DiscImageChef/Commands/MediaInfo.cs:
* DiscImageChef/Commands/MediaScan.cs:
* DiscImageChef.Metadata/DeviceReport.cs:
* DiscImageChef/Commands/DeviceReport.cs:
Added support for ATA devices.
* DiscImageChef/Commands/DeviceInfo.cs:
Added support for Media Card Pass Through detection and
information.
2016-02-10 03:00:39 +00:00
9bb1134973
* DiscImageChef.Devices/Device/AtaCommands/Cfa.cs:
...
* DiscImageChef.Devices/Device/AtaCommands/MCPT.cs:
* DiscImageChef.Devices/Device/AtaCommands/Ata28.cs:
* DiscImageChef.Devices/Device/AtaCommands/Ata48.cs:
* DiscImageChef.Devices/Device/AtaCommands/Smart.cs:
* DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs:
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
Implemented ATA commands.
* DiscImageChef.Devices/Device/ScsiCommands/SPC.cs:
Make MODE SENSE (6) buffer big enought.
* DiscImageChef.Devices/Enums.cs:
Added new command found in ACS-3 rev. 6
2016-02-08 00:13:49 +00:00
b0cfea0886
Added ATA categories.
2016-02-07 20:11:41 +00:00
37c516c30a
Move ATA/ATAPI commands to a separate folder.
2016-02-07 20:08:06 +00:00