Commit 3d1c65064bdb848ecb40dcf2fa60ecce3a9231a0
1 parent
c8f6b178
Affichage de l'existence des interfaces
Showing
1 changed file
with
45 additions
and
22 deletions
Show diff stats
src/GetUsbInfos.c
@@ -46,21 +46,21 @@ int main() { | @@ -46,21 +46,21 @@ int main() { | ||
46 | exit(-1); | 46 | exit(-1); |
47 | } | 47 | } |
48 | 48 | ||
49 | - // Si le méchant noyau est passé avant vous : | ||
50 | - /*int interface = 0; // TEST : FONCTIONNE MAIS CORRESPOND A QUOI? | ||
51 | - if (libusb_kernel_driver_active(handle, interface)) { | ||
52 | - int statusKDriver = libusb_detach_kernel_driver(handle, interface); | ||
53 | - if (statusKDriver != 0) { | ||
54 | - perror("libusb_detach_kernel_driver"); | ||
55 | - exit(-1); | ||
56 | - } | ||
57 | - }*/ | ||
58 | - | ||
59 | - /*// lectures des configs? | ||
60 | - int configuration = 0; // valueof("bConfigurationValue"); | ||
61 | - int statusConfig = libusb_set_configuration(handle, configuration); | ||
62 | - if (statusConfig != 0) { | ||
63 | - perror("libusb_set_configuration"); /*exit(-1);*/ | 49 | + // Si le méchant noyau est passé avant vous : |
50 | + /*int interface = 0; // TEST : FONCTIONNE MAIS CORRESPOND A QUOI? | ||
51 | + if (libusb_kernel_driver_active(handle, interface)) { | ||
52 | + int statusKDriver = libusb_detach_kernel_driver(handle, interface); | ||
53 | + if (statusKDriver != 0) { | ||
54 | + perror("libusb_detach_kernel_driver"); | ||
55 | + exit(-1); | ||
56 | + } | ||
57 | + }*/ | ||
58 | + | ||
59 | + /*// lectures des configs? | ||
60 | + int configuration = 0; // valueof("bConfigurationValue"); | ||
61 | + int statusConfig = libusb_set_configuration(handle, configuration); | ||
62 | + if (statusConfig != 0) { | ||
63 | + perror("libusb_set_configuration"); /*exit(-1);*/ | ||
64 | /* } | 64 | /* } |
65 | */ | 65 | */ |
66 | int MAXLEN_DESCRIPTOR_STRING = 200; | 66 | int MAXLEN_DESCRIPTOR_STRING = 200; |
@@ -77,19 +77,42 @@ int main() { | @@ -77,19 +77,42 @@ int main() { | ||
77 | printf("Descriptor string : %s ; %i\n", data, statusAscii); | 77 | printf("Descriptor string : %s ; %i\n", data, statusAscii); |
78 | } | 78 | } |
79 | 79 | ||
80 | - | ||
81 | - //4.2 configuration du périph usb | ||
82 | - struct libusb_config_descriptor * config; | ||
83 | - int statusFetchConfig = libusb_get_active_config_descriptor(device, &config); | 80 | + // 4.2 configuration du périph usb |
81 | + struct libusb_config_descriptor *config; | ||
82 | + int statusFetchConfig = | ||
83 | + libusb_get_active_config_descriptor(device, &config); | ||
84 | if (statusFetchConfig != 0) { | 84 | if (statusFetchConfig != 0) { |
85 | perror("libusb_get_active_config_descriptor"); | 85 | perror("libusb_get_active_config_descriptor"); |
86 | - //exit(-1); | 86 | + // exit(-1); |
87 | } | 87 | } |
88 | printf("Config.bConfigurationValue : %d\n", config->bConfigurationValue); | 88 | printf("Config.bConfigurationValue : %d\n", config->bConfigurationValue); |
89 | - printf("Config/ bLength:%d;bDescriptorType:%d;bNumInterfaces:%d\n", | ||
90 | - config->bLength, config->bDescriptorType, config->bNumInterfaces); | 89 | + printf("Config/ bLength:%d;bDescriptorType:%d;bNumInterfaces:%d", |
90 | + config->bLength, config->bDescriptorType, config->bNumInterfaces); | ||
91 | + | ||
92 | + // itération de l'interface | ||
93 | + | ||
94 | + for (int indexInterface = 0; indexInterface < config->bNumInterfaces; | ||
95 | + indexInterface++) { | ||
96 | + // struct libusb_interface * interface = | ||
97 | + // &config->interface[indexInterface]; | ||
98 | + printf("^%d", indexInterface); | ||
99 | + printf("Alt%d", config->interface[indexInterface].num_altsetting); | ||
100 | + } | ||
101 | + | ||
102 | + printf("\n"); | ||
103 | + /* | ||
104 | + //appropriation de l'interface | ||
105 | + | ||
106 | + int statusClaimInterface=libusb_claim_interface(handle,interface); | ||
107 | + if(status!=0){ perror("libusb_claim_interface"); exit(-1); } | ||
108 | + /* ... some code ... */ | ||
109 | + /* | ||
110 | + | ||
91 | 111 | ||
92 | 112 | ||
113 | + status=libusb_release_interface(handle,interface); | ||
114 | + if(status!=0){ perror("libusb_release_interface"); exit(-1); } | ||
115 | + */ | ||
93 | 116 | ||
94 | /* ... some ... code */ | 117 | /* ... some ... code */ |
95 | libusb_close(handle); | 118 | libusb_close(handle); |