PERFORCE change 162933 for review
Sylvestre Gallon
syl at FreeBSD.org
Thu May 28 08:29:12 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=162933
Change 162933 by syl at syl_rincewind on 2009/05/28 08:29:09
test of libusb_get_active_config_desscriptor.
Affected files ...
.. //depot/projects/soc2009/syl_usb/libusb-tests/descriptors/test2/test2.c#2 edit
Differences ...
==== //depot/projects/soc2009/syl_usb/libusb-tests/descriptors/test2/test2.c#2 (text+ko) ====
@@ -3,8 +3,58 @@
#include <stdio.h>
#include <libusb.h>
+libusb_context *ctx;
+
int
main(int ac, const char *av[])
{
+ libusb_config_descriptor *cdesc;
+ libusb_device **devs_list;
+ int ret;
+ int i, j;
+
+ printf("This program will dump the device"
+ " active config descriptor for all the"
+ " present devices.\n");
+
+ cdesc = malloc(sizeof(libusb_config_descriptor));
+ if (cdesc == NULL) {
+ perror("test1");
+ return (EXIT_FAILURE);
+ }
+
+ if (libusb_init(&ctx) != 0) {
+ fprintf(stderr, "libusb_init failed\n");
+ return (EXIT_FAILURE);
+ }
+
+ if ((ret = libusb_get_device_list(ctx, &devs_list)) < 0) {
+ fprintf(stderr, "libusb_get_device_list failed with 0x%x error code\n",
+ ret);
+ return (EXIT_FAILURE);
+ }
+
+ if (ret == 0) {
+ fprintf(stderr, "No device match or lack of permissions.\n");
+ return (EXIT_SUCCESS);
+ }
+ printf("\nThere are %i devices\n\n", ret);
+ for (i = 0 ; i < ret ; i++) {
+ printf("|-- device number = %i\n", i);
+ libusb_get_active_config_descriptor(devs_list[i], &cdesc);
+ printf("toto\n");
+ if (libusb_get_active_config_descriptor == LIBUSB_SUCCESS) {
+ printf("|----\tbLength : 0x%.2x\n", cdesc->bLength);
+ printf("|----\tbDescriptorType : 0x%.2x\n", cdesc->bDescriptorType);
+ printf("|----\twTotalLength : 0x%.2x\n", cdesc->wTotalLength);
+ printf("|----\tbNumInterfaces : 0x%.2x\n", cdesc->bNumInterfaces);
+ printf("|----\tbConfigurationValue : 0x%.2x\n", cdesc->bConfigurationValue);
+ printf("|----\tiConfiguration : 0x%.2x\n", cdesc->iConfiguration);
+ printf("|----\tbmAttributes : 0x%.2x\n", cdesc->bmAttributes);
+ printf("|----\tMaxPower : 0x%.2x\n", cdesc->MaxPower);
+ } else {
+ fprintf(stderr, "libusb_get_active_config_descriptor failed\n");
+ }
+ }
return (EXIT_SUCCESS);
}
More information about the p4-projects
mailing list