From 9e0dbfc137e3afd1119130b036382982f51fec50 Mon Sep 17 00:00:00 2001 From: dragonmux Date: Thu, 11 Aug 2022 10:02:17 +0100 Subject: [PATCH] usb/microsoft: Implemented the set header structure --- include/libopencm3/usb/microsoft.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/include/libopencm3/usb/microsoft.h b/include/libopencm3/usb/microsoft.h index 15cc072a..67d2ea2a 100644 --- a/include/libopencm3/usb/microsoft.h +++ b/include/libopencm3/usb/microsoft.h @@ -78,7 +78,7 @@ enum microsoft_registry_types { #define MICROSOFT_WINDOWS_VERSION_WINBLUE 0x06030000 -typedef struct microsoft_os_descriptor_set_information { +typedef struct __attribute__((packed)) microsoft_os_descriptor_set_information { uint32_t dwWindowsVersion; uint16_t wMSOSDescriptorSetTotalLength; uint8_t bMS_VendorCode; @@ -87,6 +87,15 @@ typedef struct microsoft_os_descriptor_set_information { #define MICROSOFT_OS_DESCRIPTOR_SET_INFORMATION_SIZE sizeof(microsoft_os_descriptor_set_information) +typedef struct __attribute__((packed)) microsoft_os_descriptor_set_header { + uint16_t wLength; + uint16_t wDescriptorType; + uint32_t dwWindowsVersion; + uint16_t wTotalLength; +} microsoft_os_descriptor_set_header; + +#define MICROSOFT_OS_DESCRIPTOR_SET_HEADER_SIZE 10U + #endif /**@}*/