3.2.4 Library Interface
This section describes the Application Programming Interface (API) functions of the USB Host Layer Library. Refer to each section for a detailed description.
Functions
| Name | Description | 
| USB_HOST_Deinitialize | Deinitializes the specified instance of the USB Host Layer. | 
| USB_HOST_Status | Gets the current status of the USB Host Layer. | 
| USB_HOST_Tasks | Maintains the USB Host Layer state machine. | 
| USB_HOST_BusEnable | Starts host operations. | 
| USB_HOST_BusIsEnabled | Checks if the bus is enabled. | 
| USB_HOST_BusIsSuspended | Returns the suspend status of the bus. | 
| USB_HOST_BusResume | Resumes the bus. | 
| USB_HOST_BusSuspend | Suspends the bus. | 
| USB_HOST_DeviceGetFirst | Returns information about the first attached device on the bus. | 
| USB_HOST_DeviceGetNext | Returns information about the next device on the bus. | 
| USB_HOST_DeviceIsSuspended | Returns the suspend state of the device is suspended. | 
| USB_HOST_DeviceResume | Resumes the selected device. | 
| USB_HOST_DeviceSpeedGet | Returns the speed at which this device is operating. | 
| USB_HOST_DeviceStringDescriptorGet | Retrieves specified string descriptor from the device. | 
| USB_HOST_DeviceSuspend | Suspends the specified device. | 
| USB_HOST_EventHandlerSet | USB Host Layer Event Handler Callback Function set function. | 
| USB_HOST_Initialize | Initializes the USB Host layer instance specified by the index. | 
Data Types and Constants
| Name | Description | 
| USB_HOST_INIT | Defines the data required to initialize a USB Host Layer instance. | 
| USB_HOST_EVENT_RESPONSE | Host Layer Events Handler Function Response Type. | 
| TPL_INTERFACE_CLASS_SUBCLASS_PROTOCOL | 
                                 Attach client driver to interface based on Class, Subclass and Protocol.  | 
| TPL_INTERFACE_CLASS_SUBCLASS | Attach client driver based on Class and Subclass only. | 
| TPL_INTERFACE_CLASS | Attach client driver based on Class only. | 
| TPL_INTERFACE_ANY | Attach client driver to all interfaces. | 
| TPL_DEVICE_VID_PID | 
                                 Attach client driver to interface based on VID and PID.  | 
| TPL_DEVICE_VID_PID_MASKED | Attach client driver to interface based on VID and a masked PID. | 
| TPL_DEVICE_ANY | Attach client driver to all devices. | 
| USB_HOST_BUS | Defines a USB Bus Data Type. | 
| USB_HOST_DEVICE_INFO | Defines the data type that is used by the USB_HOST_DeviceGetFirst() and USB_HOST_DeviceGetNext() functions. | 
| USB_HOST_DEVICE_OBJ_HANDLE | Handle to an attached USB Device. | 
| USB_HOST_DEVICE_STRING | Defines a defines types of strings that can be request through the USB_HOST_DeviceStringDescriptorGet() function. | 
| USB_HOST_EVENT | Defines the different events that the USB Host Layer can generate. | 
| USB_HOST_EVENT_HANDLER | USB Host Layer Event Handler Function Pointer Type. | 
| USB_HOST_HCD | Defines the USB Host HCD Information object that is provided to the host layer. | 
| USB_HOST_REQUEST_HANDLE | USB Host Request Handle Type. | 
| USB_HOST_RESULT | USB Host Results. | 
| USB_HOST_STRING_REQUEST_COMPLETE_CALLBACK | USB Host Device String Descriptor Request Complete Callback Function Type. | 
| USB_HOST_BUS_ALL | USB Host Bus All. | 
| USB_HOST_DEVICE_OBJ_HANDLE_INVALID | Defines an invalid USB Device Object Handle. | 
| USB_HOST_DEVICE_STRING_LANG_ID_DEFAULT | Defines the default Lang ID to be used while obtaining the string. | 
| USB_HOST_REQUEST_HANDLE_INVALID | USB Host Request Invalid Handle. | 
| USB_HOST_RESULT_MIN | USB Host Result Minimum Constant. | 
