From 41ca38341c31d2a4ad433f5f92e9093b9ac2184a Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 8 May 2023 23:27:52 +0600 Subject: [PATCH] usb: Structure definitions for USB device descriptors --- src/include/86box/usb.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/include/86box/usb.h b/src/include/86box/usb.h index 4dbec55c3..d94d8a137 100644 --- a/src/include/86box/usb.h +++ b/src/include/86box/usb.h @@ -107,6 +107,34 @@ typedef struct uint8_t bDescriptorType; } usb_desc_base_t; +typedef struct +{ + usb_desc_base_t base; + + uint8_t bInterfaceNumber; + uint8_t bAlternateSetting; + uint8_t bNumEndpoints; + uint8_t bInterfaceClass; + uint8_t bInterfaceSubClass; + uint8_t bInterfaceProtocol; + uint8_t iInterface; +} usb_desc_interface_t; + +typedef struct +{ + usb_desc_base_t base; + uint8_t bEndpointAddress; + uint8_t bmAttributes; + uint8_t wMaxPacketSize; + uint8_t bInterval; +} usb_desc_endpoint_t; + +typedef struct +{ + usb_desc_base_t base; + uint16_t bString[]; +} usb_desc_string_t; + typedef struct { usb_desc_base_t base; @@ -117,6 +145,8 @@ typedef struct uint8_t iConfiguration; uint8_t bmAttributes; uint8_t bMaxPower; + + usb_desc_interface_t interface_descs[]; } usb_desc_conf_t; #pragma pack(pop)