1 // 2 // Copyright (c) 2010-2019 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 8 using System; 9 using Antmicro.Renode.Utilities.Packets; 10 using Antmicro.Renode.Core.USB; 11 12 namespace Antmicro.Renode.Extensions.Utilities.USBIP 13 { 14 // the actual packet 15 // is prepended with 16 // the USBIP.URBHeader 17 public struct URBRequest 18 { 19 [PacketField] 20 public uint TransferBufferLength; 21 [PacketField] 22 public uint StartFrame; 23 [PacketField] 24 public uint NumberOfPackets; 25 [PacketField] 26 public uint Interval; 27 [PacketField] 28 public ulong Setup; 29 ToStringAntmicro.Renode.Extensions.Utilities.USBIP.URBRequest30 public override string ToString() 31 { 32 var bytes = BitConverter.GetBytes(Setup); 33 Array.Reverse(bytes, 0, bytes.Length); 34 var decodedSetup = Packet.Decode<SetupPacket>(bytes); 35 return $"TransferBufferLength = 0x{TransferBufferLength:X}, StartFrame = 0x{StartFrame:X}, NumberOfPackets = 0x{NumberOfPackets:X}, Interval = 0x{Interval:X}, Setup = 0x{Setup:X} [{decodedSetup}]"; 36 } 37 } 38 } 39