diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-03-20 15:52:34 +0100 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2014-03-20 15:52:34 +0100 |
commit | 37f78fd8e2c17ac63ba5fcbd9b3d0e616e921606 (patch) | |
tree | cf192c35c4c53f6a655aaf6548fb901301806df8 /hw/usb/dev-unifying.c | |
parent | 06f8259d0c6a70916d4bd48804e284f028bbb5dd (diff) | |
download | qemu-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/dev-unifying.c')
-rw-r--r-- | hw/usb/dev-unifying.c | 11 |
1 files changed, 9 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 = { |