Several specific structures are used by the USBD API to perform various operations, such as invoking callbacks or accessing the USBD controller.
There are two main structures:
USBDDriver: It is the main structure of the USB API. It should be instanciated in class-specific USB device driver or user application.
USBDDriverDescriptors: It is a list of all descriptors used by a USB device driver. It should be instanciated in class-specific USB device driver or user application and passed to USBD by USBDDriver_Initialize.
USBD API Methods
The USB API provides serveral methods to perform the following operations: