diff options
author | Hans de Goede <hdegoede@redhat.com> | 2012-03-06 14:47:13 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2012-03-06 15:42:20 +0100 |
commit | d7f30101ecb3493985e3e155c8c4e7169d3f6a8a (patch) | |
tree | b20b5028fd8d17a15d2377d1765adbfc4c76398e /usbredirhost/usbredirhost.c | |
parent | 5c25d7aa72112ce5eea54f37180158cf0ae65c12 (diff) |
Extend the usb_redir_ep_info packet header with a max_packet_size field
This new field is only send / received if both sides have the (new)
usb_redir_cap_ep_info_max_packet_size capability.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'usbredirhost/usbredirhost.c')
-rw-r--r-- | usbredirhost/usbredirhost.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/usbredirhost/usbredirhost.c b/usbredirhost/usbredirhost.c index 50820c3..f89bbc3 100644 --- a/usbredirhost/usbredirhost.c +++ b/usbredirhost/usbredirhost.c @@ -325,6 +325,7 @@ static void usbredirhost_send_interface_n_ep_info(struct usbredirhost *host) ep_info.type[i] = host->endpoint[i].type; ep_info.interval[i] = host->endpoint[i].interval; ep_info.interface[i] = host->endpoint[i].interface; + ep_info.max_packet_size[i] = host->endpoint[i].max_packetsize; } usbredirparser_send_ep_info(host->parser, &ep_info); } @@ -414,6 +415,7 @@ static void usbredirhost_parse_config(struct usbredirhost *host) } host->endpoint[i].interval = 0; host->endpoint[i].interface = 0; + host->endpoint[i].max_packetsize = 0; } for (i = 0; i < host->config->bNumInterfaces; i++) { @@ -616,6 +618,7 @@ struct usbredirhost *usbredirhost_open_full( usbredirparser_caps_set_cap(caps, usb_redir_cap_connect_device_version); usbredirparser_caps_set_cap(caps, usb_redir_cap_filter); usbredirparser_caps_set_cap(caps, usb_redir_cap_device_disconnect_ack); + usbredirparser_caps_set_cap(caps, usb_redir_cap_ep_info_max_packet_size); usbredirparser_init(host->parser, version, caps, USB_REDIR_CAPS_SIZE, parser_flags); @@ -1497,6 +1500,7 @@ static void usbredirhost_set_alt_setting(void *priv, uint32_t id, } host->endpoint[j].interval = 0; host->endpoint[j].interface = 0; + host->endpoint[j].max_packetsize = 0; } host->alt_setting[i] = set_alt_setting->alt; |