diff options
author | Anthony Liguori | 2011-08-05 00:10:36 +0200 |
---|---|---|
committer | Anthony Liguori | 2011-08-05 00:10:36 +0200 |
commit | 5df0a2a5ba54114afb2bf75cab9fb184020a46a8 (patch) | |
tree | 40565e20dad22056e9d33b09c46d7f009b9acde3 /hw/usb.h | |
parent | Merge remote-tracking branch 'kwolf/for-anthony' into staging (diff) | |
parent | bluetooth: kill dummy usb device, use hid code directly. (diff) | |
download | qemu-5df0a2a5ba54114afb2bf75cab9fb184020a46a8.tar.gz qemu-5df0a2a5ba54114afb2bf75cab9fb184020a46a8.tar.xz qemu-5df0a2a5ba54114afb2bf75cab9fb184020a46a8.zip |
Merge remote-tracking branch 'kraxel/usb.22' into staging
Diffstat (limited to 'hw/usb.h')
-rw-r--r-- | hw/usb.h | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -285,12 +285,21 @@ struct USBPacket { int pid; uint8_t devaddr; uint8_t devep; - uint8_t *data; - int len; + QEMUIOVector iov; + int result; /* transfer length or USB_RET_* status code */ /* Internal use by the USB layer. */ USBDevice *owner; }; +void usb_packet_init(USBPacket *p); +void usb_packet_setup(USBPacket *p, int pid, uint8_t addr, uint8_t ep); +void usb_packet_addbuf(USBPacket *p, void *ptr, size_t len); +int usb_packet_map(USBPacket *p, QEMUSGList *sgl); +void usb_packet_unmap(USBPacket *p); +void usb_packet_copy(USBPacket *p, void *ptr, size_t bytes); +void usb_packet_skip(USBPacket *p, size_t bytes); +void usb_packet_cleanup(USBPacket *p); + int usb_handle_packet(USBDevice *dev, USBPacket *p); void usb_packet_complete(USBDevice *dev, USBPacket *p); void usb_cancel_packet(USBPacket * p); |