- USB_Descriptor_Header_t Header; /**< Regular descriptor header containing the descriptor's type and length. */
- uint8_t Subtype; /**< Sub type value used to distinguish between CDC class-specific descriptors. */
- uint16_t CDCSpecification; /**< Version number of the CDC specification implemented by the device,
- * encoded in BCD format.
- */
- } USB_Descriptor_CDC_FunctionalHeader_t;
-
- /** Type define for a CDC class-specific functional ACM descriptor. This indicates to the host that the CDC interface
- * supports the CDC ACM subclass of the CDC specification. See the CDC class specification for more details.
- */
+ USB_Descriptor_Configuration_Header_t Config;
+
+ // RNDIS CDC Control Interface
+ USB_Descriptor_Interface_t CDC_CCI_Interface;
+ USB_CDC_Descriptor_FunctionalHeader_t CDC_Functional_Header;
+ USB_CDC_Descriptor_FunctionalACM_t CDC_Functional_ACM;
+ USB_CDC_Descriptor_FunctionalUnion_t CDC_Functional_Union;
+ USB_Descriptor_Endpoint_t CDC_NotificationEndpoint;
+
+ // RNDIS CDC Data Interface
+ USB_Descriptor_Interface_t CDC_DCI_Interface;
+ USB_Descriptor_Endpoint_t RNDIS_DataOutEndpoint;
+ USB_Descriptor_Endpoint_t RNDIS_DataInEndpoint;
+ } USB_Descriptor_Configuration_t;
+
+ /** Type define for a Microsoft OS Compatibility 1.0 descriptor. */