| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Enumerations | Functions
RNDISClassHost.h File Reference
`#include "../../USB.h"`
`#include "../Common/RNDISClassCommon.h"`

Go to the source code of this file.

## Data Structures
struct | USB_ClassInfo_RNDIS_Host_t
| RNDIS Class Host Mode Configuration and State Structure. More...

## Enumerations
enum | RNDIS_Host_EnumerationFailure_ErrorCodes_t { RNDIS_ENUMERROR_NoError = 0, RNDIS_ENUMERROR_InvalidConfigDescriptor = 1, RNDIS_ENUMERROR_NoCompatibleInterfaceFound = 2, RNDIS_ENUMERROR_PipeConfigurationFailed = 3 }

## Functions
uint8_t | RNDIS_Host_ConfigurePipes (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo, uint16_t ConfigDescriptorSize, void *DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3)
| Host interface configuration routine, to configure a given RNDIS host interface instance using the Configuration Descriptor read from an attached USB device. This function automatically updates the given RNDIS Host instance's state values and configures the pipes required to communicate with the interface if it is found within the device. This should be called once after the stack has enumerated the attached device, while the host state machine is in the Addressed state.
uint8_t | RNDIS_Host_SendKeepAlive (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| Sends a RNDIS KEEPALIVE command to the device, to ensure that it does not enter standby mode after periods of long inactivity.
uint8_t | RNDIS_Host_InitializeDevice (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| Initializes the attached RNDIS device's RNDIS interface. This should be called after the device's pipes have been configured via the call to RNDIS_Host_ConfigurePipes().
uint8_t | RNDIS_Host_SetRNDISProperty (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo, const uint32_t Oid, void *Buffer, const uint16_t Length) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3)
| Sets a given RNDIS property of an attached RNDIS device.
uint8_t | RNDIS_Host_QueryRNDISProperty (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo, const uint32_t Oid, void *Buffer, const uint16_t MaxLength) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3)
| Gets a given RNDIS property of an attached RNDIS device.
bool | RNDIS_Host_IsPacketReceived (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1)
| Determines if a packet is currently waiting for the host to read in and process.
uint8_t | RNDIS_Host_ReadPacket (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo, void *Buffer, uint16_t *const PacketLength) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2) ATTR_NON_NULL_PTR_ARG(3)
| Retrieves the next pending packet from the device, discarding the remainder of the RNDIS packet header to leave only the packet contents for processing by the host in the nominated buffer.
uint8_t | RNDIS_Host_SendPacket (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo, void *Buffer, const uint16_t PacketLength) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(2)
| Sends the given packet to the attached RNDIS device, after adding a RNDIS packet message header.
static void | RNDIS_Host_USBTask (USB_ClassInfo_RNDIS_Host_t *const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1) ATTR_ALWAYS_INLINE
| General management task for a given RNDIS host class interface, required for the correct operation of the interface. This should be called frequently in the main program loop, before the master USB management task USB_USBTask().