diff options
author | Tormod Volden <debian.tormod@gmail.com> | 2021-10-31 09:12:07 +0100 |
---|---|---|
committer | Tormod Volden <debian.tormod@gmail.com> | 2021-10-31 09:12:48 +0100 |
commit | 6992d9bd4f627ae451e8a0371526a38434e074fe (patch) | |
tree | bd744234f631d50ed3e8a8bf54691e4784cd1c7b /examples/xusb.c | |
parent | edd1a4bfe4b037e67b65e4538fd880123fb004f7 (diff) | |
download | libusb-6992d9bd4f627ae451e8a0371526a38434e074fe.tar.gz |
xusb: Print configuration descriptor length
Also inform about reading OS string descriptor.
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Diffstat (limited to 'examples/xusb.c')
-rw-r--r-- | examples/xusb.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/examples/xusb.c b/examples/xusb.c index 61ce4dd..cf7c7a8 100644 --- a/examples/xusb.c +++ b/examples/xusb.c @@ -863,6 +863,7 @@ static int test_device(uint16_t vid, uint16_t pid) printf("\nReading first configuration descriptor:\n"); CALL_CHECK_CLOSE(libusb_get_config_descriptor(dev, 0, &conf_desc), handle); + printf(" descriptor length: %d\n", conf_desc->bLength); nb_ifaces = conf_desc->bNumInterfaces; printf(" nb interfaces: %d\n", nb_ifaces); if (nb_ifaces > 0) @@ -932,12 +933,16 @@ static int test_device(uint16_t vid, uint16_t pid) printf(" String (0x%02X): \"%s\"\n", string_index[i], string); } } - // Read the OS String Descriptor + + printf("\nReading OS string descriptor:"); r = libusb_get_string_descriptor(handle, MS_OS_DESC_STRING_INDEX, 0, (unsigned char*)string, MS_OS_DESC_STRING_LENGTH); if (r == MS_OS_DESC_STRING_LENGTH && memcmp(ms_os_desc_string, string, sizeof(ms_os_desc_string)) == 0) { // If this is a Microsoft OS String Descriptor, // attempt to read the WinUSB extended Feature Descriptors + printf("\n"); read_ms_winsub_feature_descriptors(handle, string[MS_OS_DESC_VENDOR_CODE_OFFSET], first_iface); + } else { + printf(" no descriptor\n"); } switch(test_mode) { |