Add packets to get USB, FireWire and PCMCIA data.

This commit is contained in:
2019-10-14 01:27:05 +01:00
parent ef92d42641
commit 0e653cec10
3 changed files with 91 additions and 6 deletions

View File

@@ -20,7 +20,13 @@ namespace DiscImageChef.Devices.Remote
CommandGetType = 15,
ResponseGetType = 16,
CommandGetSdhciRegisters = 17,
ResponseGetSdhciRegisters = 18
ResponseGetSdhciRegisters = 18,
CommandGetUsbData = 19,
ResponseGetUsbData = 20,
CommandGetFireWireData = 21,
ResponseGetFireWireData = 22,
CommandGetPcmciaData = 23,
ResponseGetPcmciaData = 24
}
public enum DicNopReason : byte

View File

@@ -378,5 +378,22 @@ namespace DiscImageChef.Devices.Remote
{
throw new NotImplementedException("Getting SDHCI registers not yet implemented...");
}
public bool GetUsbData(out byte[] descriptors, out ushort idVendor, out ushort idProduct,
out string manufacturer, out string product, out string serial)
{
throw new NotImplementedException("Getting USB data not yet implemented...");
}
public bool GetFirewireData(out uint idVendor, out uint idProduct,
out ulong guid, out string vendor, out string model)
{
throw new NotImplementedException("Getting FireWire data not yet implemented...");
}
public bool GetPcmciaData(out byte[] cis)
{
throw new NotImplementedException("Getting PCMCIA data not yet implemented...");
}
}
}

View File

@@ -206,24 +206,24 @@ namespace DiscImageChef.Devices.Remote
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct DicPacketCmdGetDeviceType
{
private readonly DicPacketHeader hdr;
public DicPacketHeader hdr;
}
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)]
public struct DicPacketResGetDeviceType
{
private readonly DicPacketHeader hdr;
private readonly DeviceType device_type;
public DicPacketHeader hdr;
public DeviceType device_type;
}
public struct DicPacketCmdGetSdhciRegisters
{
private DicPacketHeader hdr;
public DicPacketHeader hdr;
}
public struct DicPacketResGetSdhciRegisters
{
private DicPacketHeader hdr;
public DicPacketHeader hdr;
[MarshalAs(UnmanagedType.U1)] public bool isSdhci;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
@@ -238,4 +238,66 @@ namespace DiscImageChef.Devices.Remote
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] scr;
}
public struct DicPacketCmdGetUsbData
{
public DicPacketHeader hdr;
}
public struct DicPacketResGetUsbData
{
public DicPacketHeader hdr;
[MarshalAs(UnmanagedType.U1)] public bool isUsb;
public ushort descLen;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 65536)]
public byte[] descriptors;
public ushort idVendor;
public ushort idProduct;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public string manufacturer;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public string product;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public string serial;
}
public struct DicPacketCmdGetFireWireData
{
public DicPacketHeader hdr;
}
public struct DicPacketResGetFireWireData
{
public DicPacketHeader hdr;
[MarshalAs(UnmanagedType.U1)] public bool isFireWire;
public uint idModel;
public uint idVendor;
public ulong guid;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public string vendor;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
public string model;
}
public struct DicPacketCmdGetPcmciaData
{
public DicPacketHeader hdr;
}
public struct DicPacketResGetPcmciaData
{
public DicPacketHeader hdr;
[MarshalAs(UnmanagedType.U1)] public bool isPcmcia;
public ushort cis_len;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 65536)]
public byte[] cis;
}
}