Changeset 06f9a9c9 in mainline for uspace/app/usbinfo/info.c


Ignore:
Timestamp:
2013-01-27T13:17:49Z (11 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e2dfa86
Parents:
5b401b9
Message:

usbinfo: Switch to library provided usb_device_t.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/usbinfo/info.c

    r5b401b9 r06f9a9c9  
    3737#include <str_error.h>
    3838#include <errno.h>
     39#include <usb/debug.h>
    3940#include <usb/dev/pipes.h>
    4041#include <usb/dev/recognise.h>
     
    4445#include "usbinfo.h"
    4546
    46 void dump_short_device_identification(usbinfo_device_t *dev)
     47void dump_short_device_identification(usb_device_t *usb_dev)
    4748{
    4849        printf("%sDevice 0x%04x by vendor 0x%04x\n", get_indent(0),
    49             (int) dev->device_descriptor.product_id,
    50             (int) dev->device_descriptor.vendor_id);
     50            (int) usb_device_get_device_descriptor(usb_dev)->product_id,
     51            (int) usb_device_get_device_descriptor(usb_dev)->vendor_id);
    5152}
    5253
     
    6667        }
    6768
    68         usbinfo_device_t *dev = (usbinfo_device_t *) arg;
     69        usb_device_t *usb_dev = arg;
     70        assert(usb_dev);
    6971
    7072        usb_standard_interface_descriptor_t *iface
     
    8082        match_id_list_t matches;
    8183        init_match_ids(&matches);
    82         usb_device_create_match_ids_from_interface(&dev->device_descriptor,
    83             iface, &matches);
     84        usb_device_create_match_ids_from_interface(
     85            usb_device_get_device_descriptor(usb_dev), iface, &matches);
    8486        dump_match_ids(&matches, get_indent(1));
    8587        clean_match_ids(&matches);
    8688}
    8789
    88 void dump_device_match_ids(usbinfo_device_t *dev)
     90void dump_device_match_ids(usb_device_t *usb_dev)
    8991{
    9092        match_id_list_t matches;
    9193        init_match_ids(&matches);
    92         usb_device_create_match_ids_from_device_descriptor(
    93             &dev->device_descriptor, &matches);
     94        const usb_standard_device_descriptor_t *dev_desc =
     95            usb_device_get_device_descriptor(usb_dev);
     96        usb_device_create_match_ids_from_device_descriptor(dev_desc, &matches);
    9497        printf("%sDevice match ids (0x%04x by 0x%04x, %s)\n", get_indent(0),
    95             (int) dev->device_descriptor.product_id,
    96             (int) dev->device_descriptor.vendor_id,
    97             usb_str_class(dev->device_descriptor.device_class));
     98            (int) dev_desc->product_id, (int) dev_desc->vendor_id,
     99            usb_str_class(dev_desc->device_class));
    98100        dump_match_ids(&matches, get_indent(1));
    99101        clean_match_ids(&matches);
    100102
    101         usb_dp_walk_simple(dev->full_configuration_descriptor,
    102             dev->full_configuration_descriptor_size,
    103             usb_dp_standard_descriptor_nesting,
    104             dump_match_ids_from_interface,
    105             dev);
     103        size_t desc_size = 0;
     104        const void *desc =
     105            usb_device_get_configuration_descriptor(usb_dev, &desc_size);
     106
     107        usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
     108            dump_match_ids_from_interface, usb_dev);
    106109}
    107110
     
    224227}
    225228
    226 void dump_descriptor_tree_brief(usbinfo_device_t *dev)
    227 {
    228         dump_descriptor_tree_callback((uint8_t *)&dev->device_descriptor,
     229void dump_descriptor_tree_brief(usb_device_t *usb_dev)
     230{
     231        dump_descriptor_tree_callback(
     232            (const uint8_t *)usb_device_get_device_descriptor(usb_dev),
    229233            (size_t) -1, NULL);
    230         usb_dp_walk_simple(dev->full_configuration_descriptor,
    231             dev->full_configuration_descriptor_size,
    232             usb_dp_standard_descriptor_nesting,
    233             dump_descriptor_tree_callback,
    234             NULL);
    235 }
    236 
    237 void dump_descriptor_tree_full(usbinfo_device_t *dev)
    238 {
    239         dump_descriptor_tree_callback((uint8_t *)&dev->device_descriptor,
    240             (size_t) -1, dev);
    241         usb_dp_walk_simple(dev->full_configuration_descriptor,
    242             dev->full_configuration_descriptor_size,
    243             usb_dp_standard_descriptor_nesting,
    244             dump_descriptor_tree_callback,
    245             dev);
     234
     235        size_t desc_size = 0;
     236        const void *desc =
     237            usb_device_get_configuration_descriptor(usb_dev, &desc_size);
     238
     239        usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
     240            dump_descriptor_tree_callback, NULL);
     241}
     242
     243void dump_descriptor_tree_full(usb_device_t *usb_dev)
     244{
     245        dump_descriptor_tree_callback(
     246            (const uint8_t *)usb_device_get_device_descriptor(usb_dev),
     247            (size_t) -1, usb_dev);
     248
     249        size_t desc_size = 0;
     250        const void *desc =
     251            usb_device_get_configuration_descriptor(usb_dev, &desc_size);
     252
     253        usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
     254            dump_descriptor_tree_callback, usb_dev);
    246255}
    247256
     
    285294
    286295
    287 void dump_strings(usbinfo_device_t *dev)
     296void dump_strings(usb_device_t *usb_dev)
    288297{
    289298        /* Find used indexes. Devices with more than 64 strings are very rare.*/
    290299        uint64_t str_mask = 0;
    291         find_string_indexes_callback((uint8_t *)&dev->device_descriptor, 0,
     300        find_string_indexes_callback(
     301            (const uint8_t *)usb_device_get_device_descriptor(usb_dev), 0,
    292302            &str_mask);
    293         usb_dp_walk_simple(dev->full_configuration_descriptor,
    294             dev->full_configuration_descriptor_size,
    295             usb_dp_standard_descriptor_nesting,
    296             find_string_indexes_callback,
    297             &str_mask);
     303        size_t desc_size = 0;
     304        const void *desc =
     305            usb_device_get_configuration_descriptor(usb_dev, &desc_size);
     306
     307        usb_dp_walk_simple(desc, desc_size, usb_dp_standard_descriptor_nesting,
     308            find_string_indexes_callback, &str_mask);
    298309
    299310        if (str_mask == 0) {
     
    305316        l18_win_locales_t *langs;
    306317        size_t langs_count;
    307         int rc = usb_request_get_supported_languages(&dev->ctrl_pipe,
    308             &langs, &langs_count);
     318        int rc = usb_request_get_supported_languages(
     319            usb_device_get_default_pipe(usb_dev), &langs, &langs_count);
    309320        if (rc != EOK) {
    310321                fprintf(stderr,
     
    334345                        }
    335346                        char *string = NULL;
    336                         rc = usb_request_get_string(&dev->ctrl_pipe, idx, lang,
     347                        rc = usb_request_get_string(
     348                            usb_device_get_default_pipe(usb_dev), idx, lang,
    337349                            &string);
    338350                        if ((rc != EOK) && (rc != EEMPTY)) {
     
    351363
    352364
    353 void dump_status(usbinfo_device_t *dev)
     365void dump_status(usb_device_t *usb_dev)
    354366{
    355367        int rc;
     
    357369
    358370        /* Device status first. */
    359         rc = usb_request_get_status(&dev->ctrl_pipe,
     371        rc = usb_request_get_status(usb_device_get_default_pipe(usb_dev),
    360372            USB_REQUEST_RECIPIENT_DEVICE, 0, &status);
    361373        if (rc != EOK) {
     
    373385        /* Control endpoint zero. */
    374386        status = 0;
    375         rc = usb_request_get_status(&dev->ctrl_pipe,
     387        rc = usb_request_get_status(usb_device_get_default_pipe(usb_dev),
    376388            USB_REQUEST_RECIPIENT_ENDPOINT, 0, &status);
    377389        if (rc != EOK) {
Note: See TracChangeset for help on using the changeset viewer.