diff --git a/DiscImageChef.Devices/Remote/Enums.cs b/DiscImageChef.Devices/Remote/Enums.cs index de729b1bb..3d2914f80 100644 --- a/DiscImageChef.Devices/Remote/Enums.cs +++ b/DiscImageChef.Devices/Remote/Enums.cs @@ -18,7 +18,9 @@ namespace DiscImageChef.Devices.Remote CommandSdhci = 13, ResponseSdhci = 14, CommandGetType = 15, - ResponseGetType = 16 + ResponseGetType = 16, + CommandGetSdhciRegisters = 17, + ResponseGetSdhciRegisters = 18 } public enum DicNopReason : byte diff --git a/DiscImageChef.Devices/Remote/Remote.cs b/DiscImageChef.Devices/Remote/Remote.cs index fae4590e8..12580c0a5 100644 --- a/DiscImageChef.Devices/Remote/Remote.cs +++ b/DiscImageChef.Devices/Remote/Remote.cs @@ -373,5 +373,10 @@ namespace DiscImageChef.Devices.Remote { throw new NotImplementedException("Getting remote device type not yet implemented..."); } + + public bool GetSdhciRegisters(out byte[] csd, out byte[] cid, out byte[] ocr, out byte[] scr) + { + throw new NotImplementedException("Getting SDHCI registers not yet implemented..."); + } } } \ No newline at end of file diff --git a/DiscImageChef.Devices/Remote/Structs.cs b/DiscImageChef.Devices/Remote/Structs.cs index 748c71b21..08d16cea3 100644 --- a/DiscImageChef.Devices/Remote/Structs.cs +++ b/DiscImageChef.Devices/Remote/Structs.cs @@ -215,4 +215,27 @@ namespace DiscImageChef.Devices.Remote private readonly DicPacketHeader hdr; private readonly DeviceType device_type; } + + public struct DicPacketCmdGetSdhciRegisters + { + private DicPacketHeader hdr; + } + + public struct DicPacketResGetSdhciRegisters + { + private DicPacketHeader hdr; + [MarshalAs(UnmanagedType.U1)] public bool isSdhci; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public byte[] csd; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] + public byte[] cid; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] + public byte[] ocr; + + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] + public byte[] scr; + } } \ No newline at end of file