USB Libraries Help > USB Device Libraries > USB Device Layer Library > Using the Library > How the Library Works > BOS Descriptor Support
MPLAB Harmony USB Stack
BOS Descriptor Support

The USB 3.0 and the USB 2.0 LPM specifications define a new descriptor called the Binary Device Object Store (BOS) descriptor. This descriptor contains information about the capability of the device. When the bcdUSB value in the Device Descriptor is greater than 0x0200, the USB Host Operating System may request for the BOS descriptor. 

The MPLAB Harmony USB Device Library allows the application to support the BOS descriptor requests. This support is enabled by adding the USB_DEVICE_BOS_DESCRIPTOR_SUPPORT_ENABLE configuration macro in the configuration.h file. The application must set the bosDescriptor member of the USB_DEVICE_INIT data structure (this data structure is passed in the USB_DEVICE_Initialize function) to point to the data to be returned in the data stage of the BOS descriptor request. 

If the USB_DEVICE_BOS_DESCRIPTOR_SUPPORT_ENABLE configuration macro is not specified, the Device Layer will stall the Host request for the BOS descriptor.