Commit Graph

4061 Commits

Author SHA1 Message Date
94157df03e SCSI commands that are IDENTICAL on SASI are now aliased for
source code readability.
2015-10-23 21:51:25 +01:00
1eed71488a Correct typo and add missing SASI commands. 2015-10-23 21:39:42 +01:00
40309ae712 Typo 2015-10-23 21:02:38 +01:00
0d146b7f42 Added information from ECMA-111. 2015-10-23 20:58:13 +01:00
8a4c93c7f4 Make some variables readonly so they cannot be modified after
construction.
2015-10-19 05:21:35 +01:00
6a2cb7cf50 Having a globally accessed static SCSI Peripheral Device Type
allows easier command filtering.
2015-10-19 05:20:42 +01:00
e873377777 Device type, manufacturer, model, revision and serial number
are now obtained in device constructor.
2015-10-19 05:11:28 +01:00
c8fb4e0123 Upgrade .NET version to 4.0. 2015-10-19 04:48:17 +01:00
4cf5e18059 Added some device static values to variables. 2015-10-19 04:46:09 +01:00
efcc294202 Moved devices enums and structs out of classes. 2015-10-19 04:39:39 +01:00
ac491f6f5c Implemented SCSI VPDs 0x00 to 0x80. 2015-10-19 04:32:16 +01:00
2a416eef37 Remove unused code. 2015-10-19 03:17:38 +01:00
27acec2aa8 * DiscImageChef.Decoders/ATA/ATA.cs:
* DiscImageChef.Decoders/ATA/Identify.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Rename fields, methods and structs to more adequate names.

	* DiscImageChef/Commands/Decode.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Rename ATA/ATAPI decoders fields, methods and structs to
	  more adequate names.
2015-10-19 03:17:03 +01:00
12c5412b52 * DiscImageChef/Commands/Decode.cs:
* DiscImageChef.Decoders/ATA/ATA.cs:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Rename SCSI decoders fields, methods and structs to more
	  adequate names.

	* DiscImageChef.Decoders/SCSI/MMC/MMC.cs:
	* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Separated SCSI decoders by type.

	* DiscImageChef.Decoders/SCSI/Enums.cs:
	* DiscImageChef.Decoders/SCSI/Inquiry.cs:
	* DiscImageChef.Decoders/SCSI/VendorString.cs:
	  Rename fields, methods and structs to more adequate names.
2015-10-19 03:13:15 +01:00
b3d48cac37 Separated SCSI decoders by type. 2015-10-19 02:59:32 +01:00
45303f8a8d * DiscImageChef.Decoders/CD/TOC.cs:
* DiscImageChef.Decoders/CD/PMA.cs:
	* DiscImageChef.Decoders/CD/ATIP.cs:
	* DiscImageChef.Decoders/CD/Session.cs:
	* DiscImageChef.Decoders/CD/FullTOC.cs:
	* DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs:
	  Rename fields, methods and structs to more adequate names.

	* DiscImageChef/Commands/Decode.cs:
	  Rename CD decoders fields, methods and structs to more
	  adequate names.
2015-10-19 02:46:04 +01:00
4457479471 Separated CD decoders by type. 2015-10-19 02:40:30 +01:00
7864f72481 Separated DVD decoders by type. 2015-10-19 02:28:40 +01:00
38a48777e7 Rename fields, methods and structs to more adequate names. 2015-10-19 02:13:54 +01:00
aab90287f9 Separated floppy decoders by type. 2015-10-19 02:04:38 +01:00
d46a5ab437 Organize decoders files&folders 2015-10-19 01:46:06 +01:00
b661febe57 * DiscImageChef.Console/DicConsole.cs:
Added methods without formatting.

	* DiscImageChef.Decoders/ATA.cs:
	  Typo.

	* DiscImageChef.Decoders/SCSI.cs:
	  Don't try to decode Version Descriptors if there are none.
	Also there are devices on the wild with less than 8 VDs.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Use a format-less output.
2015-10-19 01:37:23 +01:00
e9e55162d9 Added ATA/ATAPI IDENTIFY DEVICE disk tags. 2015-10-19 00:32:48 +01:00
4f407e3d15 Added specific console handling for standard, verbose, debug
and error outputs.
2015-10-18 22:04:03 +01:00
dfcd7301c5 Added information from T10/536 rev. 4a (ZBC) 2015-10-17 17:22:30 +01:00
d11789a2bd Added information from RFC 7144. 2015-10-17 05:04:29 +01:00
bf7016e795 Added information from SPC-5. 2015-10-17 04:57:48 +01:00
f1edd0d44c Updated to lastest T10 vendor list. 2015-10-17 04:36:08 +01:00
509edba762 Changed version descriptor decoding to a cleaner and more
easily upgradable code.
2015-10-17 04:10:35 +01:00
4c5ed6bd89 Added information from SPC-4. 2015-10-17 03:52:48 +01:00
80094902aa Added info from SCSI-2 specification. 2015-10-17 03:10:56 +01:00
fda6bcb3d4 Added ATA/ATAPI IDENTIFY DEVICE decoder 2015-10-17 02:57:47 +01:00
55a30e509a Corrected typos that resulted in device reset :p 2015-10-17 02:43:03 +01:00
12842dccfc Implement ATA/ATAPI IDENTIFY decoder. 2015-10-17 01:26:17 +01:00
6e7ed8e743 * DiscImageChef.Decoders/ATA.cs:
* DiscImageChef.Decoders/DiscImageChef.Decoders.csproj:
	  Added structure for ATA/ATAPI IDENTIFY [PACKET] DEVICE
	  response

	* DiscImageChef.Devices/Enums.cs:
	  Added command clash in XML documentation
2015-10-16 01:55:55 +01:00
846be0d756 * DiscImageChef.Devices/Device/AtaCommands.cs:
* DiscImageChef.Devices/Device/ScsiCommands.cs:
	* DiscImageChef.Devices/Device/AtapiCommands.cs:
	  Added duration debug printfs.

	* DiscImageChef.Devices/Enums.cs:
	  Corrected device<->host direction.

	* DiscImageChef.Devices/Linux/Command.cs:
	  Corrected device<->host direction.
	Changed to workaround how ATA Pass-Through is really
	  implemented in Linux.

	* DiscImageChef/Commands/DeviceInfo.cs:
	  Added ATA and ATAPI identify commands.
2015-10-15 01:46:31 +01:00
921d27375e Added XML documentation. 2015-10-14 03:24:25 +01:00
d901e3b8e0 * DiscImageChef.Devices/Device/AtaCommands.cs:
Added ATA IDENTIFY DEVICE command.

	* DiscImageChef.Devices/Device/AtapiCommands.cs:
	  Added ATAPI IDENTIFY PACKET DEVICE command.

	* DiscImageChef.Devices/Structs.cs:
	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Added header description.

	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Added ATA IDENTIFY DEVICE command.
	Added ATAPI IDENTIFY PACKET DEVICE command.
2015-10-14 03:17:39 +01:00
8d121d22b7 * DiscImageChef.Devices/Structs.cs:
* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Added structs with ATA registers.

	* DiscImageChef.Devices/Command.cs:
	* DiscImageChef.Devices/Device/Commands.cs:
	  Added ATA commands.

	* DiscImageChef.Devices/Enums.cs:
	  Added SCSI's ATA Command Pass-Through enumerations.

	* DiscImageChef.Devices/Linux/Command.cs:
	  Added ATA commands using libATA's SATL.
2015-10-14 02:53:46 +01:00
d7546d4e88 * DiscImageChef.Devices/Linux/Enums.cs:
* DiscImageChef.Devices/Linux/Extern.cs:
	* DiscImageChef.Devices/Linux/Structs.cs:
	  Since libata, ATA/ATAPI commands should be sent using
	  libata's SCSI/ATA Translation Layer, so remove HDIO ioctls.

	* DiscImageChef.Interop/DetectOS.cs:
	  Add code to detect if running under 32 or 64 bits.
2015-10-14 01:07:45 +01:00
9f0d09b789 * DiscImageChef/Main.cs:
* DiscImageChef/Options.cs:
	* DiscImageChef/DiscImageChef.csproj:
	* DiscImageChef/Commands/DeviceInfo.cs:
	  Added "device-info" command.

	* DiscImageChef.Decoders/SCSI.cs:
	  Correct size miscalculation.
	Do not print "Device claims no standard", generates too much
	  noise.

	* DiscImageChef.Devices/Device/Constructor.cs:
	  Add OS error detection and handling.
	On Linux move to opening O_RDONLY and O_NONBLOCK to allow
	  opening read-only media and removable drives without media.

	* DiscImageChef.Devices/Device/Variables.cs:
	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Add OS error detection and handling.

	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
	  Downgraded .NET version.
2015-10-13 01:45:07 +01:00
9f545eb8ab Added XML documentation. 2015-10-12 20:08:56 +01:00
20cde7a217 * DiscImageChef.Devices/Enums.cs:
* DiscImageChef.Devices/Command.cs:
	* DiscImageChef.Devices/Device/Commands.cs:
	* DiscImageChef.Devices/Device/Variables.cs:
	* DiscImageChef.Devices/Device/Destructor.cs:
	* DiscImageChef.Devices/Device/Constructor.cs:
	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Added device class.

	* DiscImageChef.Devices/Device/ScsiCommands.cs:
	  Added device class.
	Added SCSI INQUIRY.
2015-10-12 19:55:00 +01:00
ed09ecbda4 Added standard header. 2015-10-12 06:39:31 +01:00
8b8b838577 * DiscImageChef.Devices/Linux/Command.cs:
* DiscImageChef.Devices/Windows/Command.cs:
	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Added per-platform send SCSI method.

	* DiscImageChef.sln:
	* DiscImageChef.Interop/DetectOS.cs:
	* DiscImageChef.Interop/PlatformID.cs:
	* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
	  Added code to detect OS.

	* DiscImageChef.Devices/Linux/Extern.cs:
	* DiscImageChef.Devices/Windows/Extern.cs:
	  Enhanced externs.

	* DiscImageChef.Devices/Linux/Structs.cs:
	  Typo.
2015-10-12 06:26:33 +01:00
115bf5030f * DiscImageChef.Devices/Command.cs:
Add skeleton for send SCSI command method.

	* DiscImageChef.Devices/Linux/Command.cs:
	* DiscImageChef.Devices/Windows/Command.cs:
	  Added per-platform send SCSI command method.

	* DiscImageChef.sln:
	* DiscImageChef.Interop/DetectOS.cs:
	* DiscImageChef.Interop/PlatformID.cs:
	* DiscImageChef.Interop/Properties/AssemblyInfo.cs:
	* DiscImageChef.Interop/DiscImageChef.Interop.csproj:
	  Added code to detect OS.

	* DiscImageChef.Devices/DiscImageChef.Devices.csproj:
	  Added per-platform send SCSI command method.
	Add skeleton for send SCSI command method.

	* DiscImageChef.Devices/Linux/Extern.cs:
	* DiscImageChef.Devices/Windows/Extern.cs:
	  Enhanced externs.

	* DiscImageChef.Devices/Linux/Structs.cs:
	  Typo.
2015-10-12 06:25:49 +01:00
7fa4c3fbeb Added ATA IOCTLs. 2015-10-07 02:15:31 +01:00
97c8d54b72 * DiscImageChef.Devices/Linux/Enums.cs:
* DiscImageChef.Devices/Linux/Extern.cs:
	* DiscImageChef.Devices/Linux/Structs.cs:
	  Filled Linux enums.

	* DiscImageChef.Devices/Windows/Enums.cs:
	  Typo
2015-10-06 21:18:02 +01:00
c083f45ece Struct de-class 2015-10-06 18:29:15 +01:00
4aef27f3d3 Typo 2015-10-06 18:28:06 +01:00