summaryrefslogtreecommitdiff
path: root/usbredirparser
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2012-11-25 15:13:00 +0100
committerHans de Goede <hdegoede@redhat.com>2012-11-27 10:01:58 +0100
commitcd54205b2808006f017a7fd8780f6cded4f842be (patch)
tree2082bf037ccdba837b30e485c9cbda49f1ae7ef1 /usbredirparser
parenta8313c831ca499b40a9205ae151da6ba0fad6d70 (diff)
usbredirproto: Add support for buffered bulk input
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'usbredirparser')
-rw-r--r--usbredirparser/usbredirproto.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/usbredirparser/usbredirproto.h b/usbredirparser/usbredirproto.h
index cdbd1c3..65c53a3 100644
--- a/usbredirparser/usbredirproto.h
+++ b/usbredirparser/usbredirproto.h
@@ -96,12 +96,16 @@ enum {
usb_redir_filter_reject,
usb_redir_filter_filter,
usb_redir_device_disconnect_ack,
+ usb_redir_start_bulk_receiving,
+ usb_redir_stop_bulk_receiving,
+ usb_redir_bulk_receiving_status,
/* Data packets */
usb_redir_control_packet = 100,
usb_redir_bulk_packet,
usb_redir_iso_packet,
usb_redir_interrupt_packet,
+ usb_redir_buffered_bulk_packet,
};
enum {
@@ -119,6 +123,8 @@ enum {
usb_redir_cap_64bits_ids,
/* Supports 32 bits length in usb_redir_bulk_packet_header */
usb_redir_cap_32bits_bulk_length,
+ /* Supports bulk receiving / buffered bulk input */
+ usb_redir_cap_bulk_receiving,
};
/* Number of uint32_t-s needed to hold all (known) capabilities */
#define USB_REDIR_CAPS_SIZE 1
@@ -226,6 +232,24 @@ struct usb_redir_bulk_streams_status_header {
uint8_t no_streams;
} ATTR_PACKED;
+struct usb_redir_start_bulk_receiving_header {
+ uint32_t stream_id;
+ uint32_t bytes_per_transfer;
+ uint8_t endpoint;
+ uint8_t no_transfers;
+} ATTR_PACKED;
+
+struct usb_redir_stop_bulk_receiving_header {
+ uint32_t stream_id;
+ uint8_t endpoint;
+} ATTR_PACKED;
+
+struct usb_redir_bulk_receiving_status_header {
+ uint32_t stream_id;
+ uint8_t endpoint;
+ uint8_t status;
+} ATTR_PACKED;
+
struct usb_redir_control_packet_header {
uint8_t endpoint;
uint8_t request;
@@ -256,6 +280,13 @@ struct usb_redir_interrupt_packet_header {
uint16_t length;
} ATTR_PACKED;
+struct usb_redir_buffered_bulk_packet_header {
+ uint32_t stream_id;
+ uint32_t length;
+ uint8_t endpoint;
+ uint8_t status;
+} ATTR_PACKED;
+
#undef ATTR_PACKED
#if defined(__MINGW32__) || !defined(__GNUC__)