Revision f3aaaa24
b/hw/usb-hid.c | ||
---|---|---|
45 | 45 |
typedef struct USBHIDState { |
46 | 46 |
USBDevice dev; |
47 | 47 |
HIDState hid; |
48 |
void *datain_opaque; |
|
49 |
void (*datain)(void *); |
|
50 | 48 |
} USBHIDState; |
51 | 49 |
|
52 | 50 |
enum { |
... | ... | |
362 | 360 |
{ |
363 | 361 |
USBHIDState *us = container_of(hs, USBHIDState, hid); |
364 | 362 |
|
365 |
if (us->datain) { |
|
366 |
us->datain(us->datain_opaque); |
|
367 |
} |
|
368 |
|
|
369 | 363 |
usb_wakeup(&us->dev); |
370 | 364 |
} |
371 | 365 |
|
... | ... | |
533 | 527 |
return usb_hid_initfn(dev, HID_KEYBOARD); |
534 | 528 |
} |
535 | 529 |
|
536 |
void usb_hid_datain_cb(USBDevice *dev, void *opaque, void (*datain)(void *)) |
|
537 |
{ |
|
538 |
USBHIDState *s = (USBHIDState *)dev; |
|
539 |
|
|
540 |
s->datain_opaque = opaque; |
|
541 |
s->datain = datain; |
|
542 |
} |
|
543 |
|
|
544 | 530 |
static const VMStateDescription vmstate_usb_ptr = { |
545 | 531 |
.name = "usb-ptr", |
546 | 532 |
.version_id = 1, |
b/hw/usb.h | ||
---|---|---|
316 | 316 |
int usb_host_device_close(const char *devname); |
317 | 317 |
void usb_host_info(Monitor *mon); |
318 | 318 |
|
319 |
/* usb-hid.c */ |
|
320 |
void usb_hid_datain_cb(USBDevice *dev, void *opaque, void (*datain)(void *)); |
|
321 |
|
|
322 | 319 |
/* usb-bt.c */ |
323 | 320 |
USBDevice *usb_bt_init(HCIInfo *hci); |
324 | 321 |
|
Also available in: Unified diff