Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(323)

Side by Side Diff: third_party/libusb/src/examples/listdevs.c

Issue 19713005: Update libusb 1.0.9 to libusbx 1.0.16 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * libusb example program to list devices on the bus 2 * libusbx example program to list devices on the bus
3 * Copyright (C) 2007 Daniel Drake <dsd@gentoo.org> 3 * Copyright © 2007 Daniel Drake <dsd@gentoo.org>
4 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public 6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version. 8 * version 2.1 of the License, or (at your option) any later version.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details. 13 * Lesser General Public License for more details.
14 * 14 *
15 * You should have received a copy of the GNU Lesser General Public 15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software 16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */ 18 */
19 19
20 #include <stdio.h> 20 #include <stdio.h>
21 #include <sys/types.h>
22 21
23 #include <libusb.h> 22 #include "libusb.h"
24 23
25 static void print_devs(libusb_device **devs) 24 static void print_devs(libusb_device **devs)
26 { 25 {
27 libusb_device *dev; 26 libusb_device *dev;
28 » int i = 0; 27 » int i = 0, j = 0;
28 » uint8_t path[8];
29 29
30 while ((dev = devs[i++]) != NULL) { 30 while ((dev = devs[i++]) != NULL) {
31 struct libusb_device_descriptor desc; 31 struct libusb_device_descriptor desc;
32 int r = libusb_get_device_descriptor(dev, &desc); 32 int r = libusb_get_device_descriptor(dev, &desc);
33 if (r < 0) { 33 if (r < 0) {
34 fprintf(stderr, "failed to get device descriptor"); 34 fprintf(stderr, "failed to get device descriptor");
35 return; 35 return;
36 } 36 }
37 37
38 » » printf("%04x:%04x (bus %d, device %d)\n", 38 » » printf("%04x:%04x (bus %d, device %d)",
39 desc.idVendor, desc.idProduct, 39 desc.idVendor, desc.idProduct,
40 libusb_get_bus_number(dev), libusb_get_device_address(de v)); 40 libusb_get_bus_number(dev), libusb_get_device_address(de v));
41
42 r = libusb_get_port_numbers(dev, path, sizeof(path));
43 if (r > 0) {
44 printf(" path: %d", path[0]);
45 for (j = 1; j < r; j++)
46 printf(".%d", path[j]);
47 }
48 printf("\n");
41 } 49 }
42 } 50 }
43 51
44 int main(void) 52 int main(void)
45 { 53 {
46 libusb_device **devs; 54 libusb_device **devs;
47 int r; 55 int r;
48 ssize_t cnt; 56 ssize_t cnt;
49 57
50 r = libusb_init(NULL); 58 r = libusb_init(NULL);
51 if (r < 0) 59 if (r < 0)
52 return r; 60 return r;
53 61
54 cnt = libusb_get_device_list(NULL, &devs); 62 cnt = libusb_get_device_list(NULL, &devs);
55 if (cnt < 0) 63 if (cnt < 0)
56 return (int) cnt; 64 return (int) cnt;
57 65
58 print_devs(devs); 66 print_devs(devs);
59 libusb_free_device_list(devs, 1); 67 libusb_free_device_list(devs, 1);
60 68
61 libusb_exit(NULL); 69 libusb_exit(NULL);
62 return 0; 70 return 0;
63 } 71 }
64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698