* passed to all RNDIS Class driver functions, so that multiple instances of the same class\r
* within a device can be differentiated from one another.\r
*/\r
-USB_ClassInfo_RNDIS_t Ethernet_RNDIS_Interface =\r
+USB_ClassInfo_RNDIS_Device_t Ethernet_RNDIS_Interface =\r
{\r
- .ControlInterfaceNumber = 0,\r
-\r
- .DataINEndpointNumber = CDC_TX_EPNUM,\r
- .DataINEndpointSize = CDC_TXRX_EPSIZE,\r
-\r
- .DataOUTEndpointNumber = CDC_RX_EPNUM,\r
- .DataOUTEndpointSize = CDC_TXRX_EPSIZE,\r
-\r
- .NotificationEndpointNumber = CDC_NOTIFICATION_EPNUM,\r
- .NotificationEndpointSize = CDC_NOTIFICATION_EPSIZE,\r
- \r
- .AdapterVendorDescription = "LUFA RNDIS Demo Adapter",\r
- .AdapterMACAddress = {ADAPTER_MAC_ADDRESS},\r
+ .Config =\r
+ {\r
+ .ControlInterfaceNumber = 0,\r
+\r
+ .DataINEndpointNumber = CDC_TX_EPNUM,\r
+ .DataINEndpointSize = CDC_TXRX_EPSIZE,\r
+\r
+ .DataOUTEndpointNumber = CDC_RX_EPNUM,\r
+ .DataOUTEndpointSize = CDC_TXRX_EPSIZE,\r
+\r
+ .NotificationEndpointNumber = CDC_NOTIFICATION_EPNUM,\r
+ .NotificationEndpointSize = CDC_NOTIFICATION_EPSIZE,\r
+ \r
+ .AdapterVendorDescription = "LUFA RNDIS Demo Adapter",\r
+ .AdapterMACAddress = {ADAPTER_MAC_ADDRESS},\r
+ },\r
+ \r
+ .State =\r
+ {\r
+ // Leave all state values to their defaults \r
+ }\r
};\r
\r
/** Main program entry point. This routine contains the overall program flow, including initial\r
\r
for (;;)\r
{\r
- if (Ethernet_RNDIS_Interface.FrameIN.FrameInBuffer)\r
+ if (Ethernet_RNDIS_Interface.State.FrameIN.FrameInBuffer)\r
{\r
LEDs_SetAllLEDs(LEDMASK_USB_BUSY);\r
- Ethernet_ProcessPacket(&Ethernet_RNDIS_Interface.FrameIN, &Ethernet_RNDIS_Interface.FrameOUT);\r
+ Ethernet_ProcessPacket(&Ethernet_RNDIS_Interface.State.FrameIN, &Ethernet_RNDIS_Interface.State.FrameOUT);\r
LEDs_SetAllLEDs(LEDMASK_USB_READY);\r
}\r
\r