Lines Matching defs:config

316 static void clear_configuration(struct libusb_config_descriptor *config)
318 if (config->interface) {
320 for (i = 0; i < config->bNumInterfaces; i++)
322 config->interface + i);
323 free((void *) config->interface);
325 if (config->extra)
326 free((void *) config->extra);
330 struct libusb_config_descriptor *config, unsigned char *buffer,
340 usbi_parse_descriptor(buffer, "bbwbbbbb", config, host_endian);
341 size = config->wTotalLength;
343 if (config->bNumInterfaces > USB_MAXINTERFACES) {
344 usbi_err(ctx, "too many interfaces (%d)", config->bNumInterfaces);
348 tmp = config->bNumInterfaces * sizeof(struct libusb_interface);
350 config->interface = interface;
351 if (!config->interface)
355 buffer += config->bLength;
356 size -= config->bLength;
358 config->extra = NULL;
359 config->extra_length = 0;
361 for (i = 0; i < config->bNumInterfaces; i++) {
396 if (!config->extra_length) {
397 config->extra = malloc(len);
398 if (!config->extra) {
403 memcpy((unsigned char *) config->extra, begin, len);
404 config->extra_length = len;
419 clear_configuration(config);
460 * \param config output location for the USB configuration descriptor. Only
469 struct libusb_config_descriptor **config)
507 *config = _config;
524 * \param config output location for the USB configuration descriptor. Only
534 uint8_t config_index, struct libusb_config_descriptor **config)
577 *config = _config;
589 * if the config was not found.
623 * \param config output location for the USB configuration descriptor. Only
633 uint8_t bConfigurationValue, struct libusb_config_descriptor **config)
642 return libusb_get_config_descriptor(dev, idx, config);
648 * It is safe to call this function with a NULL config parameter, in which
651 * \param config the configuration descriptor to free
654 struct libusb_config_descriptor *config)
656 if (!config)
659 clear_configuration(config);
660 free(config);