Add packet for get device type.

This commit is contained in:
2019-10-14 01:02:25 +01:00
parent 1dd75018e3
commit 3df019304f
4 changed files with 30 additions and 8 deletions

View File

@@ -40,12 +40,12 @@ namespace DiscImageChef.CommonTypes.Enums
{ {
public enum DeviceType public enum DeviceType
{ {
Unknown, Unknown = -1,
ATA, ATA = 1,
ATAPI, ATAPI = 2,
SCSI, SCSI = 3,
SecureDigital, SecureDigital = 4,
MMC, MMC = 5,
NVMe NVMe = 6
} }
} }

View File

@@ -16,7 +16,9 @@ namespace DiscImageChef.Devices.Remote
CommandAtaLba48 = 11, CommandAtaLba48 = 11,
ResponseAtaLba48 = 12, ResponseAtaLba48 = 12,
CommandSdhci = 13, CommandSdhci = 13,
ResponseSdhci = 14 ResponseSdhci = 14,
CommandGetType = 15,
ResponseGetType = 16
} }
public enum DicNopReason : byte public enum DicNopReason : byte

View File

@@ -5,6 +5,7 @@ using System.Linq;
using System.Net; using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using DiscImageChef.CommonTypes.Enums;
using DiscImageChef.CommonTypes.Interop; using DiscImageChef.CommonTypes.Interop;
using DiscImageChef.Console; using DiscImageChef.Console;
using DiscImageChef.Decoders.ATA; using DiscImageChef.Decoders.ATA;
@@ -367,5 +368,10 @@ namespace DiscImageChef.Devices.Remote
{ {
throw new NotImplementedException("Remote SDHCI commands not yet implemented..."); throw new NotImplementedException("Remote SDHCI commands not yet implemented...");
} }
public DeviceType GetDeviceType()
{
throw new NotImplementedException("Getting remote device type not yet implemented...");
}
} }
} }

View File

@@ -1,4 +1,5 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using DiscImageChef.CommonTypes.Enums;
using DiscImageChef.Decoders.ATA; using DiscImageChef.Decoders.ATA;
namespace DiscImageChef.Devices.Remote namespace DiscImageChef.Devices.Remote
@@ -201,4 +202,17 @@ namespace DiscImageChef.Devices.Remote
public uint sense; public uint sense;
public uint errno; public uint errno;
} }
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct DicPacketCmdGetDeviceType
{
private readonly DicPacketHeader hdr;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct DicPacketResGetDeviceType
{
private readonly DicPacketHeader hdr;
private readonly DeviceType device_type;
}
} }