Contents of /trunk/usbip/patches/usbip-0.1.7-bind-parseable-output.patch
Parent Directory | Revision Log
Revision 1539 -
(show annotations)
(download)
Mon Sep 19 19:06:00 2011 UTC (13 years ago) by niro
File size: 1751 byte(s)
Mon Sep 19 19:06:00 2011 UTC (13 years ago) by niro
File size: 1751 byte(s)
-added --list2 patch
1 | diff -Naur usbip-0.1.7/src/cmd/bind-driver.c usbip-0.1.7-magellan/src/cmd/bind-driver.c |
2 | --- usbip-0.1.7/src/cmd/bind-driver.c 2009-01-13 18:10:51.000000000 +0100 |
3 | +++ usbip-0.1.7-magellan/src/cmd/bind-driver.c 2011-09-19 22:42:27.000000000 +0200 |
4 | @@ -16,6 +16,7 @@ |
5 | {"usbip", required_argument, NULL, 'u'}, |
6 | {"other", required_argument, NULL, 'o'}, |
7 | {"list", no_argument, NULL, 'l'}, |
8 | + {"list2", no_argument, NULL, 'L'}, |
9 | {"help", no_argument, NULL, 'h'}, |
10 | #if 0 |
11 | {"allusbip", no_argument, NULL, 'a'}, |
12 | @@ -378,6 +379,49 @@ |
13 | return 0; |
14 | } |
15 | |
16 | +static int show_devices2(void) |
17 | +{ |
18 | + DIR *dir; |
19 | + |
20 | + dir = opendir("/sys/bus/usb/devices/"); |
21 | + if (!dir) |
22 | + g_error("opendir: %s", strerror(errno)); |
23 | + |
24 | + for (;;) { |
25 | + struct dirent *dirent; |
26 | + char *busid; |
27 | + |
28 | + dirent = readdir(dir); |
29 | + if (!dirent) |
30 | + break; |
31 | + |
32 | + busid = dirent->d_name; |
33 | + |
34 | + if (is_usb_device(busid)) { |
35 | + char name[100] = {'\0'}; |
36 | + char driver[100] = {'\0'}; |
37 | + int conf, ninf = 0; |
38 | + int i; |
39 | + |
40 | + conf = read_bConfigurationValue(busid); |
41 | + ninf = read_bNumInterfaces(busid); |
42 | + |
43 | + getdevicename(busid, name, sizeof(name)); |
44 | + |
45 | + printf("busid=%s#usbid=%s#", busid, name); |
46 | + |
47 | + for (i = 0; i < ninf; i++) { |
48 | + getdriver(busid, conf, i, driver, sizeof(driver)); |
49 | + printf("%s:%d.%d=%s#", busid, conf, i, driver); |
50 | + } |
51 | + printf("\n"); |
52 | + } |
53 | + } |
54 | + |
55 | + closedir(dir); |
56 | + |
57 | + return 0; |
58 | +} |
59 | |
60 | #if 0 |
61 | static int export_to(char *host, char *busid) { |
62 | @@ -533,6 +577,9 @@ |
63 | case 'l' : |
64 | cmd = cmd_list; |
65 | break; |
66 | + case 'L' : |
67 | + cmd = cmd_list2; |
68 | + break; |
69 | case 'a' : |
70 | cmd = cmd_allusbip; |
71 | break; |
72 | @@ -569,6 +616,9 @@ |
73 | case cmd_list: |
74 | show_devices(); |
75 | break; |
76 | + case cmd_list2: |
77 | + show_devices2(); |
78 | + break; |
79 | #if 0 |
80 | case cmd_allusbip: |
81 | allusbip(); |