diff options
author | Hans de Goede <hdegoede@redhat.com> | 2011-07-13 14:48:56 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2011-07-13 14:48:56 +0200 |
commit | d80e30cdd7f6aa44f93488e0578510a19ba7ad52 (patch) | |
tree | 155f30bd166d87d225f52c35c6ee96101990d9f1 /usbredirtestclient/usbredirtestclient.c | |
parent | a794dd7cef57f1b372fce755fc0463d99ceeb2c0 (diff) |
Add device / interface class info
And add a new usb_redir_interface_info packet type which contains the
interface info.
Diffstat (limited to 'usbredirtestclient/usbredirtestclient.c')
-rw-r--r-- | usbredirtestclient/usbredirtestclient.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/usbredirtestclient/usbredirtestclient.c b/usbredirtestclient/usbredirtestclient.c index 1929469..a124a8a 100644 --- a/usbredirtestclient/usbredirtestclient.c +++ b/usbredirtestclient/usbredirtestclient.c @@ -46,6 +46,8 @@ static void usbredirtestclient_device_connect(void *priv, struct usb_redir_device_connect_header *device_connect); static void usbredirtestclient_device_disconnect(void *priv); +static void usbredirtestclient_interface_info(void *priv, + struct usb_redir_interface_info_header *interface_info); static void usbredirtestclient_ep_info(void *priv, struct usb_redir_ep_info_header *ep_info); static void usbredirtestclient_configuration_status(void *priv, uint32_t id, @@ -272,6 +274,7 @@ int main(int argc, char *argv[]) parser->write_func = usbredirtestclient_write; parser->device_connect_func = usbredirtestclient_device_connect; parser->device_disconnect_func = usbredirtestclient_device_disconnect; + parser->interface_info_func = usbredirtestclient_interface_info; parser->ep_info_func = usbredirtestclient_ep_info; parser->configuration_status_func = usbredirtestclient_configuration_status; parser->alt_setting_status_func = usbredirtestclient_alt_setting_status; @@ -439,6 +442,11 @@ static void usbredirtestclient_device_connect(void *priv, default: printf("device info: speed: unknown\n"); } + printf(" class %2d subclass %2d protocol %2d\n", + device_connect->device_class, device_connect->device_subclass, + device_connect->device_protocol); + printf(" vendor 0x%04x product %04x\n", + device_connect->vendor_id, device_connect->product_id); } static void usbredirtestclient_device_disconnect(void *priv) @@ -448,6 +456,18 @@ static void usbredirtestclient_device_disconnect(void *priv) client_fd = -1; } +static void usbredirtestclient_interface_info(void *priv, + struct usb_redir_interface_info_header *info) +{ + int i; + + for (i = 0; i < info->interface_count; i++) { + printf("interface %d class %2d subclass %2d protocol %2d\n", + info->interface[i], info->interface_class[i], + info->interface_subclass[i], info->interface_protocol[i]); + } +} + static void usbredirtestclient_ep_info(void *priv, struct usb_redir_ep_info_header *ep_info) { |