From d3f904ea7b3027f58037e359cc199c2490dc5c3d Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 29 Mar 2012 12:04:54 +0200 Subject: usb: add USBDescriptor, use for device descriptors. This patch adds a new type for the binary representation of usb descriptors. It is put into use for the descriptor generator code where the struct replaces the hard-coded offsets. Signed-off-by: Gerd Hoffmann --- hw/usb/desc.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'hw/usb/desc.h') diff --git a/hw/usb/desc.h b/hw/usb/desc.h index d6e07ea5d2..c5a242e3c1 100644 --- a/hw/usb/desc.h +++ b/hw/usb/desc.h @@ -3,6 +3,32 @@ #include +/* binary representation */ +typedef struct USBDescriptor { + uint8_t bLength; + uint8_t bDescriptorType; + union { + struct { + uint8_t bcdUSB_lo; + uint8_t bcdUSB_hi; + uint8_t bDeviceClass; + uint8_t bDeviceSubClass; + uint8_t bDeviceProtocol; + uint8_t bMaxPacketSize0; + uint8_t idVendor_lo; + uint8_t idVendor_hi; + uint8_t idProduct_lo; + uint8_t idProduct_hi; + uint8_t bcdDevice_lo; + uint8_t bcdDevice_hi; + uint8_t iManufacturer; + uint8_t iProduct; + uint8_t iSerialNumber; + uint8_t bNumConfigurations; + } device; + } u; +} QEMU_PACKED USBDescriptor; + struct USBDescID { uint16_t idVendor; uint16_t idProduct; -- cgit v1.2.1