#include <RNDIS.h>
Data Fields | |
struct { | |
uint8_t ControlInterfaceNumber | |
uint8_t DataINEndpointNumber | |
uint16_t DataINEndpointSize | |
uint8_t DataOUTEndpointNumber | |
uint16_t DataOUTEndpointSize | |
uint8_t NotificationEndpointNumber | |
uint16_t NotificationEndpointSize | |
char * AdapterVendorDescription | |
MAC_Address_t AdapterMACAddress | |
} | Config |
struct { | |
uint8_t RNDISMessageBuffer [RNDIS_MESSAGE_BUFFER_SIZE] | |
bool ResponseReady | |
uint8_t CurrRNDISState | |
uint32_t CurrPacketFilter | |
Ethernet_Frame_Info_t FrameIN | |
Ethernet_Frame_Info_t FrameOUT | |
} | State |
Class state structure. An instance of this structure should be made for each RNDIS interface within the user application, and passed to each of the RNDIS class driver functions as the RNDISInterfaceInfo parameter. This stores each RNDIS interface's configuration and state information.
MAC address of the adapter
String description of the adapter vendor
struct { ... } USB_ClassInfo_RNDIS_Device_t::Config |
Config data for the USB class interface within the device. All elements in this section must be set or the interface will fail to enumerate and operate correctly.
Interface number of the CDC control interface within the device
Current packet filter mode, used internally by the class driver
Current RNDIS state of the adapter, a value from the RNDIS_States_t enum
Endpoint number of the CDC interface's IN data endpoint
Size in bytes of the CDC interface's IN data endpoint
Endpoint number of the CDC interface's OUT data endpoint
Size in bytes of the CDC interface's OUT data endpoint
Structure holding the last received Ethernet frame from the host, for user processing
Structure holding the next Ethernet frame to send to the host, populated by the user application
Endpoint number of the CDC interface's IN notification endpoint, if used
Size in bytes of the CDC interface's IN notification endpoint, if used
Internal flag indicating if a RNDIS message is waiting to be returned to the host
uint8_t USB_ClassInfo_RNDIS_Device_t::RNDISMessageBuffer[RNDIS_MESSAGE_BUFFER_SIZE] |
Buffer to hold RNDIS messages to and from the host, managed by the class driver
struct { ... } USB_ClassInfo_RNDIS_Device_t::State |
State data for the USB class interface within the device. All elements in this section are reset to their defaults when the interface is enumerated.