diff options
Diffstat (limited to 'usr.sbin/usbconfig/dump.c')
-rw-r--r-- | usr.sbin/usbconfig/dump.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/usr.sbin/usbconfig/dump.c b/usr.sbin/usbconfig/dump.c index ffa8b2c..01c55d2 100644 --- a/usr.sbin/usbconfig/dump.c +++ b/usr.sbin/usbconfig/dump.c @@ -176,15 +176,30 @@ dump_iface(struct libusb20_device *pdev, } void -dump_device_info(struct libusb20_device *pdev) +dump_device_info(struct libusb20_device *pdev, uint8_t show_ifdrv) { + char buf[128]; + uint8_t n; + printf("%s, cfg=%u md=%s spd=%s pwr=%s\n", libusb20_dev_get_desc(pdev), libusb20_dev_get_config_index(pdev), dump_mode(libusb20_dev_get_mode(pdev)), dump_speed(libusb20_dev_get_speed(pdev)), dump_power_mode(libusb20_dev_get_power_mode(pdev))); - return; + + if (!show_ifdrv) + return; + + for (n = 0; n != 255; n++) { + if (libusb20_dev_get_iface_desc(pdev, n, buf, sizeof(buf))) + break; + if (buf[0] == 0) + continue; + printf("ugen%u.%u.%u: %s\n", + libusb20_dev_get_bus_number(pdev), + libusb20_dev_get_address(pdev), n, buf); + } } void @@ -339,7 +354,8 @@ dump_device_iface_access(struct libusb20_device *pdev, uint8_t iface) owner = (pw = getpwuid(uid)) ? pw->pw_name : "UNKNOWN"; group = (gr = getgrgid(gid)) ? gr->gr_name : "UNKNOWN"; - printf(" " "Interface %u Access: %s:%s 0%o\n", iface, owner, group, mode); + printf(" " "Interface %u Access: %s:%s 0%o\n", + iface, owner, group, mode); } else { printf(" " "Interface %u Access: <not set>\n", iface); } |