Index: device/usb/usb_descriptors.h |
diff --git a/device/usb/usb_descriptors.h b/device/usb/usb_descriptors.h |
index ba7169ae459a316aa15f40835042ef9560dc86bb..11b606ea9d91133fb29b2e9640b5e03e9d38807d 100644 |
--- a/device/usb/usb_descriptors.h |
+++ b/device/usb/usb_descriptors.h |
@@ -87,6 +87,8 @@ struct UsbInterfaceDescriptor { |
uint8_t interface_protocol; |
std::vector<UsbEndpointDescriptor> endpoints; |
std::vector<uint8_t> extra_data; |
+ // First interface of the function to which this interface belongs. |
+ uint8_t first_interface; |
}; |
struct UsbConfigDescriptor { |
@@ -98,6 +100,10 @@ struct UsbConfigDescriptor { |
UsbConfigDescriptor(const UsbConfigDescriptor& other); |
~UsbConfigDescriptor(); |
+ // Scans through |extra_data| for interface association descriptors and |
+ // populates |first_interface| for each interface in this configuration. |
+ void AssignFirstInterfaceNumbers(); |
+ |
uint8_t configuration_value; |
bool self_powered; |
bool remote_wakeup; |