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 Antmicro.Renode.Utilities.Packets;
9 
10 namespace Antmicro.Renode.Extensions.Utilities.USBIP
11 {
12     public struct DeviceDescriptor
13     {
14         [PacketField, Width(256)]
15         public byte[] Path;
16         [PacketField, Width(32)]
17         public byte[] BusId;
18         [PacketField]
19         public uint BusNumber;
20         [PacketField]
21         public uint DeviceNumber;
22         [PacketField]
23         public uint Speed;
24         [PacketField]
25         public ushort IdVendor;
26         [PacketField]
27         public ushort IdProduct;
28         [PacketField]
29         public ushort BcdDevice;
30         [PacketField]
31         public byte DeviceClass;
32         [PacketField]
33         public byte DeviceSubClass;
34         [PacketField]
35         public byte DeviceProtocol;
36         [PacketField]
37         public byte ConfigurationValue;
38         [PacketField]
39         public byte NumberOfConfigurations;
40         [PacketField]
41         public byte NumberOfInterfaces;
42 
ToStringAntmicro.Renode.Extensions.Utilities.USBIP.DeviceDescriptor43         public override string ToString()
44         {
45             return $"BusNumber = {BusNumber}, DeviceNumber = {DeviceNumber}, Speed = {Speed}, IdVendor = {IdVendor}, IdProduct = {IdProduct}, BcdDevice = {BcdDevice}, DeviceClass = {DeviceClass}, DeviceSubClass = {DeviceSubClass}, DeviceProtocol = {DeviceProtocol}, ConfigurationValue = {ConfigurationValue}, NumberOfConfigurations = {NumberOfConfigurations}, NumberOfInterfaces = {NumberOfInterfaces}";
46         }
47     }
48 }
49