Jump to main content

##

# 2.2.4.52 USB_DEVICE_MASTER_DESCRIPTOR Structure

## C

    typedef struct {
      const USB_DEVICE_DESCRIPTOR * deviceDescriptor;
      uint8_t configDescriptorCount;
      USB_DEVICE_CONFIGURATION_DESCRIPTORS_TABLE * configDescriptorTable;
      const USB_DEVICE_DESCRIPTOR * highSpeedDeviceDescriptor;
      uint8_t highSpeedConfigDescriptorCount;
      USB_DEVICE_CONFIGURATION_DESCRIPTORS_TABLE * highSpeedConfigDescriptorTable;
      uint8_t stringDescCount;
      USB_DEVICE_STRING_DESCRIPTORS_TABLE * stringDescriptorTable;
      const USB_DEVICE_QUALIFIER * fullSpeedDeviceQualifier;
      const USB_DEVICE_QUALIFIER * highSpeedDeviceQualifier;
      const uint8_t * bosDescriptor;
    } USB_DEVICE_MASTER_DESCRIPTOR;

## Summary

USB Device Master Descriptor Structure.

This data type defines the structure of the USB Device Master Descriptor. The application must provide such a structure for each instance of the device layer.

## Members

Members | Description
const USB_DEVICE_DESCRIPTOR * deviceDescriptor; | Pointer to standard device descriptor (for low/full speed).
uint8_t configDescriptorCount; | Total number configurations available (for low/full speed).
USB_DEVICE_CONFIGURATION_DESCRIPTORS_TABLE * configDescriptorTable; | Pointer to array of configurations descriptor pointers (for low/full speed).
const USB_DEVICE_DESCRIPTOR * highSpeedDeviceDescriptor; | Pointer to array of high speed standard Device descriptor. Assign this to NULL if not supported.
uint8_t highSpeedConfigDescriptorCount; | Total number of high speed configurations available. Set this to zero if not supported.
USB_DEVICE_CONFIGURATION_DESCRIPTORS_TABLE * highSpeedConfigDescriptorTable; | Pointer to array of high speed configurations descriptor pointers. Set this to NULL if not supported.
uint8_t stringDescCount; | Total number of string descriptors available (common to all speeds).
USB_DEVICE_STRING_DESCRIPTORS_TABLE * stringDescriptorTable; | Pointer to array of string Descriptor pointers (common to all speeds).
const USB_DEVICE_QUALIFIER * fullSpeedDeviceQualifier; | Pointer to full speed device_qualifier descriptor. Device responds with this descriptor when it is operating at high speed.
const USB_DEVICE_QUALIFIER * highSpeedDeviceQualifier; | Pointer to high speed device_qualifier descriptor. Device responds with this descriptor when it is operating at full speed.
const uint8_t * bosDescriptor; | Pointer to BOS descriptor for this Device. Device responds with this descriptor when Host sends a GET_DESCRIPTOR request for BOS descriptor.

## Remarks

This type is specific to implementation of the USB Device Stack API.