File for the APIs of USB host called by application or class layer. More...
Go to the source code of this file.
Data Structures | |
struct | IotUsbDeviceEndpointConfig_t |
Endpoint configuration structure. More... | |
struct | IotUsbInterfaceInfo_t |
Attached device interface information. More... | |
struct | IotUsbConfigurationInfo_t |
Attached device configuration information. More... | |
struct | IotUsbDeviceInfo_t |
Attached device information. More... | |
Macros | |
#define | IOT_USB_HOST_SUCCESS ( 0 ) |
Return values returned by this driver. | |
#define | IOT_USB_HOST_ERROR ( 1 ) |
#define | IOT_USB_HOST_BUSY ( 2 ) |
#define | IOT_USB_HOST_INVALID_VALUE ( 3 ) |
#define | IOT_USB_HOST_WRITE_FAIL ( 4 ) |
#define | IOT_USB_HOST_READ_FAIL ( 5 ) |
#define | IOT_USB_HOST_CANCEL_FAILED ( 6 ) |
#define | IOT_USB_HOST_FUNCTION_NOT_SUPPORTED ( 7 ) |
#define | IOT_USB_HOST_NOTHING_TO_CANCEL ( 8 ) |
#define | IOT_USB_HOST_MAX_ENDPOINTS ( 4 ) |
Typedefs | |
typedef struct IotUsbHost * | IotUsbHostHandle_t |
IotUsbHostHandle_t is the handle type returned by calling iot_usb_host_open(). This is initialized in open and returned to caller. The caller must pass this pointer to the rest of APIs. | |
typedef struct IotUsbDevice * | IotUsbDeviceHandle_t |
IotUsbDeviceHandle_t is the handle type returned when device attach and enumerated This device handle is needed for device operation. | |
typedef struct IotUsbConfiguration * | IotUsbConfigHandle_t |
IotUsbConfigHandle_t is the configuration handle for device Only one configuration at run time. | |
typedef struct IotUsbInterface * | IotUsbInterfaceHandle_t |
IotUsbInterfaceHandle_t is the interface handle, which can be extracted from config One device may have more than one interface to be used. | |
typedef struct IotUsbPipe * | IotPipeHandle_t |
IotPipeHandle_t is the pipe handle, which will be used for data and control transfer. | |
typedef void(* | IotUsbHostCallback_t) (IotUsbDeviceHandle_t const pxUsbDevice, IotUsbHostEvent_t xEvent, void *pvUserContext) |
USB Host attach/detach notify callback type. This callback is passed to the driver by calling iot_usb_host_set_host_callback. | |
typedef void(* | IotUsbHostTransferCallback_t) (void *pvUserContext, uint8_t ucStatus) |
USB Host pipe transfer callback type. This callback is passed to the driver by calling iot_usb_host_set_pipe_callback. | |
Enumerations | |
enum | IotUsbHostEvent_t { eUSBHostAttachEvent , eUSBHostDetachEvent , eUSBHostEnumerationDoneEvent , eUSBHostResetEvent , eUSBHostSuspendEvent , eUSBHostResumeEvent , eUSBHostRemoteWakeEvent } |
common host notify event types in host callback. More... | |
enum | IotUsbHostIoctlRequest_t { eUSBHostGetHosthandle , eUSBHostGetDeviceControlPipe , eUSBHostGetDeviceAddress , eUSBHostOpenDeviceInterface , eUSBHostCloseDeviceInterface , eUSBHostGetDeviceInfo , eUSBHostGetInterfaceInfo , eUSBHostGetInterfaceDescriptor , eUSBHostGetConfigureHandle , eUSBHostGetInterfaceHandle } |
Ioctl standard device request for USB Host HAL. More... | |
Functions | |
IotUsbHostHandle_t | iot_usb_host_open (int32_t lUsbHostControllerInstance) |
iot_usb_host_open is used to initialize the usb host driver. This must be called before using any other usb host APIs. | |
void | iot_usb_host_set_host_callback (IotUsbHostHandle_t const pxUsbHost, IotUsbHostCallback_t xCallback, void *pvUserContext) |
Set up usb host callback to be called on host event. | |
void | iot_usb_host_set_pipe_callback (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe, IotUsbHostTransferCallback_t xCallback, void *pvUserContext) |
set up usb pipe callback to be called on pipe transfer. | |
IotPipeHandle_t | iot_usb_host_pipe_open (IotUsbHostHandle_t const pxUsbHost, uint8_t ucDevAddress, IotUsbDeviceEndpointConfig_t *pxEpConfig) |
This function is used to open a pipe per given device and endpoint descriptor. | |
int32_t | iot_usb_host_pipe_close (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe) |
This function is used to close given pipe. | |
int32_t | iot_usb_host_read_async (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe, void *const pvBuffer, size_t xBytes) |
Starts the usb host read operation in non-blocking mode. | |
int32_t | iot_usb_host_write_async (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe, void *const pvBuffer, size_t xBytes) |
Starts the usb host write operation in non-blocking mode. | |
int32_t | iot_usb_host_read_sync (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe, void *const pvBuffer, size_t xBytes) |
Starts the usb host read operation in blocking mode. | |
int32_t | iot_usb_host_write_sync (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe, void *const pvBuffer, size_t xBytes) |
Starts the usb host write operation in blocking mode. | |
int32_t | iot_usb_host_cancel (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe) |
This function is used to cancel the current operation in progress. | |
int32_t | iot_usb_host_ioctl (IotUsbDeviceHandle_t pxUsbDevice, IotUsbHostIoctlRequest_t xRequest, void *const pvBuffer) |
Used for various usb host control function. | |
int32_t | iot_usb_host_send_setup (IotUsbHostHandle_t const pxUsbHost, IotPipeHandle_t pxPipe, void *pvSetup, uint8_t *pucData) |
Send setup packet to the pipe. | |
int32_t | iot_usb_host_close (IotUsbHostHandle_t const pxUsbHost) |
Close the USB host peripheral. | |
File for the APIs of USB host called by application or class layer.