PERFORCE change 163163 for review
Sylvestre Gallon
syl at FreeBSD.org
Sun May 31 13:03:02 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=163163
Change 163163 by syl at syl_rincewind on 2009/05/31 13:02:06
Finish to implement test5 who dump Manufacturer, Product and SerialNumber
strings descriptors.
Affected files ...
.. //depot/projects/soc2009/syl_usb/libusb-tests/descriptors/test5/test5.c#3 edit
.. //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#24 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/libusb-tests/descriptors/test5/test5.c#3 (text+ko) ====
@@ -9,6 +9,7 @@
main(int ac, const char *av[])
{
libusb_device_handle *devh;
+ libusb_device_descriptor *ddesc;
libusb_device **devs_list;
char buff[512];
int ret;
@@ -18,6 +19,12 @@
printf("This program will print out all the device"
" strings descriptors for all the present devices.\n");
+ ddesc = malloc(sizeof(libusb_device_descriptor));
+ if (ddesc == NULL) {
+ perror("test5");
+ return (EXIT_FAILURE);
+ }
+
if (libusb_init(&ctx) != 0) {
fprintf(stderr, "libusb_init failed\n");
return (EXIT_FAILURE);
@@ -43,12 +50,25 @@
return (EXIT_SUCCESS);
}
- ret2 = libusb_get_string_descriptor_ascii(devh, 0, buff, 512);
- if (ret2 > 0) {
- fprintf(stderr, "libusb open error.\n");
- return (EXIT_SUCCESS);
+ libusb_get_device_descriptor(devs_list[i], ddesc);
+
+ if (ddesc->iManufacturer == 0) {
+ printf("\tNo Manufacturer string\n");
+ } else {
+ libusb_get_string_descriptor_ascii(devh, ddesc->iManufacturer, buff, 512);
+ printf("\tManufacturer : %s\n", buff);
+ }
+ if (ddesc->iProduct == 0) {
+ printf("\tNo Product string\n");
+ } else {
+ libusb_get_string_descriptor_ascii(devh, ddesc->iProduct, buff, 512);
+ printf("\tProduct : %s\n", buff);
+ }
+ if (ddesc->iSerialNumber == 0) {
+ printf("\tNo Serial Number string\n");
} else {
- printf("string desc size : %i\n", ret2);
+ libusb_get_string_descriptor_ascii(devh, ddesc->iSerialNumber, buff, 512);
+ printf("\tSerialNumber : %s\n", buff);
}
}
return (EXIT_SUCCESS);
==== //depot/projects/soc2009/syl_usb/src/lib/libusb/libusb10.c#24 (text+ko) ====
@@ -679,7 +679,7 @@
{
pthread_mutex_lock(&libusb20_lock);
- switch (libusb20_tr_get_status(usb20_xfer)) {
+ switch (libusb20_tr_get_status(xfer)) {
case LIBUSB20_TRANSFER_COMPLETED:
xfer->status = LIBUSB_TRANSFER_COMPLETED;
break ;
More information about the p4-projects
mailing list