diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-11-17 11:03:53 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2011-01-11 15:56:00 +0100 |
commit | 37fb59d3032687b6f0d94c307bd0a846e0ca1fe0 (patch) | |
tree | 1538cef5e0c1abc4a5fca8850a01460b2bfe6bc2 /hw/usb.h | |
parent | 5d0d62feee8aa75525207ef24919c0522651a432 (diff) | |
download | qemu-37fb59d3032687b6f0d94c307bd0a846e0ca1fe0.tar.gz qemu-37fb59d3032687b6f0d94c307bd0a846e0ca1fe0.tar.bz2 qemu-37fb59d3032687b6f0d94c307bd0a846e0ca1fe0.zip |
usb: data structs and helpers for usb descriptors.
This patch adds hw/usb-desc.[ch] files. They carry data structures
for various usb descriptors and helper functions to generate usb
packets from the structures.
The intention is to have a internal representation of the device
desription which is more usable than the current char array blobs,
so we can have common code handle common usb device emulation using
the device description.
The usage of this infrastructure is optional for usb drivers as there
are cases such as pass-through where it probably isn't very useful.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/usb.h')
-rw-r--r-- | hw/usb.h | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -128,6 +128,14 @@ typedef struct USBDevice USBDevice; typedef struct USBDeviceInfo USBDeviceInfo; typedef struct USBPacket USBPacket; +typedef struct USBDesc USBDesc; +typedef struct USBDescID USBDescID; +typedef struct USBDescDevice USBDescDevice; +typedef struct USBDescConfig USBDescConfig; +typedef struct USBDescIface USBDescIface; +typedef struct USBDescEndpoint USBDescEndpoint; +typedef struct USBDescOther USBDescOther; + /* definition of a USB device */ struct USBDevice { DeviceState qdev; @@ -190,6 +198,7 @@ struct USBDeviceInfo { int (*handle_data)(USBDevice *dev, USBPacket *p); const char *product_desc; + const USBDesc *usb_desc; /* handle legacy -usbdevice command line options */ const char *usbdevice_name; |