Date: Sun, 13 Sep 2009 12:06:12 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 168496 for review Message-ID: <200909131206.n8DC6C3u005974@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=168496 Change 168496 by hselasky@hselasky_laptop001 on 2009/09/13 12:05:14 usbconfig: - add more verbose output when dumping the configuration descriptor. Affected files ... .. //depot/projects/usb/src/usr.sbin/usbconfig/dump.c#14 edit Differences ... ==== //depot/projects/usb/src/usr.sbin/usbconfig/dump.c#14 (text+ko) ==== @@ -100,21 +100,66 @@ printf("%s%s = 0x%04x ", plevel, field, value); - if ((field[0] != 'i') || (field[1] == 'd')) { - printf("\n"); - return; + if (strlen(plevel) == 8) { + /* Endpoint Descriptor */ + + if (strcmp(field, "bEndpointAddress") == 0) { + if (value & 0x80) + printf("<IN>\n"); + else + printf("<OUT>\n"); + return; + } + + if (strcmp(field, "bmAttributes") == 0) { + switch (value & 0x03) { + case 0: + printf("<CONTROL>\n"); + break; + case 1: + switch (value & 0x0C) { + case 0x00: + printf("<ISOCHRONOUS>\n"); + break; + case 0x04: + printf("<ASYNC-ISOCHRONOUS>\n"); + break; + case 0x08: + printf("<ADAPT-ISOCHRONOUS>\n"); + break; + default: + printf("<SYNC-ISOCHRONOUS>\n"); + break; + } + break; + case 2: + printf("<BULK>\n"); + break; + default: + printf("<INTERRUPT>\n"); + break; + } + return; + } } - if (value == 0) { - printf(" <no string>\n"); + + if ((field[0] == 'i') && (field[1] != 'd')) { + /* Indirect String Descriptor */ + if (value == 0) { + printf(" <no string>\n"); + return; + } + if (libusb20_dev_req_string_simple_sync(pdev, value, + temp_string, sizeof(temp_string))) { + printf(" <retrieving string failed>\n"); + return; + } + printf(" <%s>\n", temp_string); return; } - if (libusb20_dev_req_string_simple_sync(pdev, value, - temp_string, sizeof(temp_string))) { - printf(" <retrieving string failed>\n"); - return; - } - printf(" <%s>\n", temp_string); - return; + + /* No additional information */ + printf("\n"); } static void
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909131206.n8DC6C3u005974>