diff --git a/mingw-w64-headers/include/usbspec.h b/mingw-w64-headers/include/usbspec.h index 86557d8d..97ab5f3b 100644 --- a/mingw-w64-headers/include/usbspec.h +++ b/mingw-w64-headers/include/usbspec.h @@ -213,6 +213,13 @@ typedef struct _USB_BOS_DESCRIPTOR { #define USB_DEVICE_CAPABILITY_USB20_EXTENSION 0x02 #define USB_DEVICE_CAPABILITY_SUPERSPEED_USB 0x03 #define USB_DEVICE_CAPABILITY_CONTAINER_ID 0x04 +#define USB_DEVICE_CAPABILITY_PLATFORM 0x05 +#define USB_DEVICE_CAPABILITY_POWER_DELIVERY 0x06 +#define USB_DEVICE_CAPABILITY_BATTERY_INFO 0x07 +#define USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT 0x08 +#define USB_DEVICE_CAPABILITY_PD_PROVIDER_PORT 0x09 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB 0x0A +#define USB_DEVICE_CAPABILITY_PRECISION_TIME_MEASUREMENT 0x0B #define USB_DEVICE_CAPABILITY_BILLBOARD 0x0D typedef struct _USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR { @@ -666,6 +673,54 @@ typedef struct _USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR { ULONG dwBytesPerInterval; } USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR,*PUSB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR; +typedef union _USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED { + ULONG AsUlong32; + struct { + ULONG SublinkSpeedAttrID:4; + ULONG LaneSpeedExponent:2; + ULONG SublinkTypeMode:1; + ULONG SublinkTypeDir:1; + ULONG Reserved:6; + ULONG LinkProtocol:2; + ULONG LaneSpeedMantissa:16; + }; +} USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED, *PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED; + +typedef struct _USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + union { + ULONG AsUlong; + struct { + ULONG SublinkSpeedAttrCount:5; + ULONG SublinkSpeedIDCount:4; + ULONG Reserved:23; + }; + } bmAttributes; + union { + USHORT AsUshort; + struct { + USHORT SublinkSpeedAttrID:4; + USHORT Reserved:4; + USHORT MinRxLaneCount:4; + USHORT MinTxLaneCount:4; + }; + } wFunctionalitySupport; + USHORT wReserved; + USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED bmSublinkSpeedAttr[1]; +} USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR; + +typedef struct _USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + GUID PlatformCapabilityUuid; + UCHAR CapabililityData[1]; +} USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR; + #include #endif