diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2012-03-29 12:04:54 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2012-04-17 10:23:28 +0200 |
commit | d3f904ea7b3027f58037e359cc199c2490dc5c3d (patch) | |
tree | bccc2a2811327de196496e90e327051d49c9c23b /hw/usb/desc.h | |
parent | 58ea88d87a834923b31271750b8eab6403a797be (diff) |
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 <kraxel@redhat.com>
Diffstat (limited to 'hw/usb/desc.h')
-rw-r--r-- | hw/usb/desc.h | 26 |
1 files changed, 26 insertions, 0 deletions
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 <inttypes.h> +/* 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; |