summaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
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) */