From c8f6b1784566c8291e1257ef660cff33042aa706 Mon Sep 17 00:00:00 2001 From: Axel CHEMIN <axel.chemin@polytech-lille.net> Date: Thu, 12 Nov 2020 14:57:25 +0100 Subject: [PATCH] Affichage valeur de la configuration active --- src/GetUsbInfos.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/GetUsbInfos.c b/src/GetUsbInfos.c index 47da89c..2abccc1 100644 --- a/src/GetUsbInfos.c +++ b/src/GetUsbInfos.c @@ -45,18 +45,18 @@ int main() { perror("libusb_open"); exit(-1); } - /* + // Si le méchant noyau est passé avant vous : - int interface = 0; // TEST : FONCTIONNE MAIS CORRESPOND A QUOI? + /*int interface = 0; // TEST : FONCTIONNE MAIS CORRESPOND A QUOI? if (libusb_kernel_driver_active(handle, interface)) { int statusKDriver = libusb_detach_kernel_driver(handle, interface); if (statusKDriver != 0) { perror("libusb_detach_kernel_driver"); exit(-1); } - } + }*/ - // lectures des configs? + /*// lectures des configs? int configuration = 0; // valueof("bConfigurationValue"); int statusConfig = libusb_set_configuration(handle, configuration); if (statusConfig != 0) { @@ -76,6 +76,21 @@ int main() { break; printf("Descriptor string : %s ; %i\n", data, statusAscii); } + + + //4.2 configuration du périph usb + struct libusb_config_descriptor * config; + int statusFetchConfig = libusb_get_active_config_descriptor(device, &config); + if (statusFetchConfig != 0) { + perror("libusb_get_active_config_descriptor"); + //exit(-1); + } + printf("Config.bConfigurationValue : %d\n", config->bConfigurationValue); + printf("Config/ bLength:%d;bDescriptorType:%d;bNumInterfaces:%d\n", + config->bLength, config->bDescriptorType, config->bNumInterfaces); + + + /* ... some ... code */ libusb_close(handle); } -- libgit2 0.21.2