USB Libraries Help > USB Device Libraries > USB Device Layer Library > Library Interface > g) Data Types and Constants > USB_DEVICE_MASTER_DESCRIPTOR Structure
MPLAB Harmony USB Stack
USB_DEVICE_MASTER_DESCRIPTOR Structure

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.

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;
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.