summaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-03-20 15:52:34 +0100
committerPeter Wu <peter@lekensteyn.nl>2014-03-20 15:52:34 +0100
commit37f78fd8e2c17ac63ba5fcbd9b3d0e616e921606 (patch)
treecf192c35c4c53f6a655aaf6548fb901301806df8 /hw/usb
parent06f8259d0c6a70916d4bd48804e284f028bbb5dd (diff)
downloadqemu-37f78fd8e2c17ac63ba5fcbd9b3d0e616e921606.tar.gz
unifying: introduce usbdump property to specify dump name
Stop hard-coding capture file and introduce the "usbdump" property to specify the capture file path. When omitted, no capture will be done. Signed-off-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'hw/usb')
-rw-r--r--hw/usb/dev-unifying.c11
-rw-r--r--hw/usb/hid-logitech-dj.h1
2 files changed, 10 insertions, 2 deletions
diff --git a/hw/usb/dev-unifying.c b/hw/usb/dev-unifying.c
index e7e2bd600b..d1904b01d2 100644
--- a/hw/usb/dev-unifying.c
+++ b/hw/usb/dev-unifying.c
@@ -576,8 +576,9 @@ static int usb_ltunify_initfn(USBDevice *dev)
hidpp_init(s);
- // TODO: API sucks...
- s->usb_dump_state = usb_dump_init_alloc("/tmp/usbdump.pcap");
+ if (s->usbdump_filename != NULL) {
+ s->usb_dump_state = usb_dump_init_alloc(s->usbdump_filename);
+ }
return 0;
}
@@ -586,6 +587,11 @@ static const VMStateDescription vmstate_usb_ltunify = {
.unmigratable = 1,
};
+static Property usb_ltunify_properties[] = {
+ DEFINE_PROP_STRING("usbdump", USBLtunifyState, usbdump_filename),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
static void usb_ltunify_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
@@ -602,6 +608,7 @@ static void usb_ltunify_class_init(ObjectClass *klass, void *data)
set_bit(DEVICE_CATEGORY_INPUT, dc->categories);
dc->desc = "QEMU Logitech Unifying Receiver";
dc->vmsd = &vmstate_usb_ltunify;
+ dc->props = usb_ltunify_properties;
}
static const TypeInfo ltunify_info = {
diff --git a/hw/usb/hid-logitech-dj.h b/hw/usb/hid-logitech-dj.h
index 6a2ca18413..de46a74453 100644
--- a/hw/usb/hid-logitech-dj.h
+++ b/hw/usb/hid-logitech-dj.h
@@ -223,6 +223,7 @@ typedef struct {
typedef struct USBLtunifyState {
USBDevice dev;
USBEndpoint *intr[3]; /* interfaces (keyboard, mouse, DJ) */
+ char *usbdump_filename;
UsbDumpState *usb_dump_state;
HIDState hid[2]; /* HID devices (keyboard, mouse) */