1 //
2 // Copyright (c) 2010-2018 Antmicro
3 // Copyright (c) 2011-2015 Realtime Embedded
4 //
5 // This file is licensed under the MIT License.
6 // Full license text is available in 'licenses/MIT.txt'.
7 //
8 using System;
9 using Antmicro.Renode.Peripherals.Network;
10 using System.Collections.Generic;
11 using Antmicro.Renode.Network;
12 using Antmicro.Renode.Core.Structure;
13 
14 namespace Antmicro.Renode.Peripherals.USBDeprecated
15 {
16     public class USBEthernetEmulationModelDevice : IUSBPeripheral, IMACInterface
17     {
18         public event Action <uint> SendInterrupt
19         {
20             add {}
21             remove {}
22         }
23         public event Action <uint> SendPacket
24         {
25             add {}
26             remove {}
27         }
28 
USBEthernetEmulationModelDevice()29         public USBEthernetEmulationModelDevice ()
30         {
31         }
32 
Reset()33         public void Reset()
34         {
35         }
36 
GetSpeed()37         public USBDeviceSpeed GetSpeed()
38         {
39             return USBDeviceSpeed.Low;
40         }
41 
42         #region IUSBDevice implementation
ProcessClassGet(USBPacket packet, USBSetupPacket setupPacket)43         public byte[] ProcessClassGet(USBPacket packet, USBSetupPacket setupPacket)
44         {
45             throw new System.NotImplementedException ();
46         }
GetDataBulk(USBPacket packet)47             public byte[] GetDataBulk(USBPacket packet)
48         {
49             return null;
50         }
WriteDataBulk(USBPacket packet)51                 public void WriteDataBulk(USBPacket packet)
52         {
53 
54         }
GetAddress()55                 public uint GetAddress()
56         {
57             return 0;
58         }
WriteDataControl(USBPacket packet)59         public void WriteDataControl(USBPacket packet)
60         {
61         }
GetTransferStatus()62                       public     byte GetTransferStatus()
63         {
64         return 0;
65         }
GetDataControl(USBPacket packet)66         public byte[] GetDataControl(USBPacket packet)
67         {
68             return null;
69         }
GetDescriptor(USBPacket packet, USBSetupPacket setupPacket)70                 public byte[] GetDescriptor(USBPacket packet, USBSetupPacket setupPacket)
71         {
72             return null;
73         }
ProcessClassSet(USBPacket packet, USBSetupPacket setupPacket)74         public void ProcessClassSet(USBPacket packet, USBSetupPacket setupPacket)
75         {
76             throw new System.NotImplementedException ();
77         }
WriteInterrupt(USBPacket packet)78                 public byte[] WriteInterrupt(USBPacket packet)
79         {
80             return null;
81         }
SetDataToggle(byte endpointNumber)82         public void SetDataToggle(byte endpointNumber)
83         {
84             throw new NotImplementedException ();
85         }
86 
CleanDataToggle(byte endpointNumber)87         public void CleanDataToggle(byte endpointNumber)
88         {
89             throw new NotImplementedException ();
90         }
91 
ToggleDataToggle(byte endpointNumber)92         public void ToggleDataToggle(byte endpointNumber)
93         {
94             throw new NotImplementedException ();
95         }
96 
GetDataToggle(byte endpointNumber)97         public bool GetDataToggle(byte endpointNumber)
98         {
99             throw new NotImplementedException ();
100         }
101 
ClearFeature(USBPacket packet, USBSetupPacket setupPacket)102         public void ClearFeature (USBPacket packet, USBSetupPacket setupPacket)
103         {
104             throw new NotImplementedException ();
105         }
106 
GetConfiguration()107         public byte[] GetConfiguration ()
108         {
109             throw new NotImplementedException ();
110         }
111 
112 
113 
GetInterface(USBPacket packet, USBSetupPacket setupPacket)114         public byte[] GetInterface(USBPacket packet, USBSetupPacket setupPacket)
115         {
116             throw new NotImplementedException ();
117         }
118 
GetStatus(USBPacket packet, USBSetupPacket setupPacket)119         public byte[] GetStatus(USBPacket packet, USBSetupPacket setupPacket)
120         {
121             throw new NotImplementedException ();
122         }
123 
SetAddress(uint address)124         public void SetAddress (uint address)
125         {
126             throw new NotImplementedException ();
127         }
128 
SetConfiguration(USBPacket packet, USBSetupPacket setupPacket)129         public void SetConfiguration(USBPacket packet, USBSetupPacket setupPacket)
130         {
131             throw new NotImplementedException ();
132         }
133 
SetDescriptor(USBPacket packet, USBSetupPacket setupPacket)134         public void SetDescriptor (USBPacket packet, USBSetupPacket setupPacket)
135         {
136             throw new NotImplementedException ();
137         }
138 
SetFeature(USBPacket packet, USBSetupPacket setupPacket)139         public void SetFeature(USBPacket packet, USBSetupPacket setupPacket)
140         {
141             throw new NotImplementedException ();
142         }
143 
SetInterface(USBPacket packet, USBSetupPacket setupPacket)144         public void SetInterface (USBPacket packet, USBSetupPacket setupPacket)
145         {
146             throw new NotImplementedException ();
147         }
148 
SyncFrame(uint endpointId)149         public void SyncFrame (uint endpointId)
150         {
151             throw new NotImplementedException ();
152         }
153 
WriteData(byte[] data)154         public void WriteData (byte[] data)
155         {
156             throw new NotImplementedException ();
157         }
158 
GetData()159         public byte[] GetData ()
160         {
161             throw new NotImplementedException ();
162         }
163 
ReceiveFrame(EthernetFrame frame)164         public void ReceiveFrame (EthernetFrame frame)
165         {
166             throw new NotImplementedException ();
167         }
168 
169 #pragma warning disable 0067
170         public event Action<EthernetFrame> FrameReady;
171 #pragma warning restore 0067
172         public MACAddress MAC { get; set; }
173         private const ushort EnglishLangId = 0x09;
174 
175 
176         #endregion
177 
178 
179         private class ethernetControllerSetting
180         {
181             public long MACAddress = 0xFFFFFFFFFFFF;
182             public byte fullSpeedPollingInterval = 0x01;
183             public byte hiSpeedPollingInterval = 0x04;
184             public byte configurationFlag = 0x05;
185         }
186 
ProcessVendorGet(USBPacket packet, USBSetupPacket setupPacket)187         public byte[] ProcessVendorGet(USBPacket packet, USBSetupPacket setupPacket)
188         {
189             throw new System.NotImplementedException();
190         }
191 
ProcessVendorSet(USBPacket packet, USBSetupPacket setupPacket)192         public void ProcessVendorSet(USBPacket packet, USBSetupPacket setupPacket)
193         {
194             throw new System.NotImplementedException();
195         }
196     }
197 }
198 
199