Changeset 41ef5b9 in mainline for uspace/app/usbinfo/info.c


Ignore:
Timestamp:
2011-03-21T17:16:10Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4d0c40b
Parents:
fd9f6e4c (diff), 434ef65 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

merge from usb/development

File:
1 edited

Legend:

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

    rfd9f6e4c r41ef5b9  
    4242#include <usb/classes/classes.h>
    4343#include <usb/classes/hid.h>
     44#include <usb/classes/hub.h>
    4445#include "usbinfo.h"
    4546
     
    109110    usb_standard_device_descriptor_t *descriptor)
    110111{
    111         printf("%sDevice (0x%04x by 0x%04x, %s)\n", prefix,
     112        printf("%sDevice (0x%04x by 0x%04x, %s, %zu configurations)\n", prefix,
    112113            (int) descriptor->product_id,
    113114            (int) descriptor->vendor_id,
    114             usb_str_class(descriptor->device_class));
     115            usb_str_class(descriptor->device_class),
     116            (size_t) descriptor->configuration_count);
    115117}
    116118
     
    118120    usb_standard_configuration_descriptor_t *descriptor)
    119121{
    120         printf("%sConfiguration #%d\n", prefix,
    121             (int) descriptor->configuration_number);
     122        printf("%sConfiguration #%d (%zu interfaces, total %zuB)\n", prefix,
     123            (int) descriptor->configuration_number,
     124            (size_t) descriptor->interface_count,
     125            (size_t) descriptor->total_length);
    122126}
    123127
     
    125129    usb_standard_interface_descriptor_t *descriptor)
    126130{
    127         printf("%sInterface #%d (%s, 0x%02x, 0x%02x)\n", prefix,
     131        printf("%sInterface #%d (%s, 0x%02x, 0x%02x), alternate %d\n", prefix,
    128132            (int) descriptor->interface_number,
    129133            usb_str_class(descriptor->interface_class),
    130134            (int) descriptor->interface_subclass,
    131             (int) descriptor->interface_protocol);
     135            (int) descriptor->interface_protocol,
     136            (int) descriptor->alternate_setting);
    132137}
    133138
     
    153158}
    154159
    155 
    156 static void dump_descriptor_tree_brief_callback(uint8_t *descriptor,
     160static void dump_descriptor_tree_brief_hub(const char *prefix,
     161    usb_hub_descriptor_header_t *descriptor)
     162{
     163        printf("%shub (%d ports)\n", prefix,
     164            (int) descriptor->port_count);
     165}
     166
     167
     168static void dump_descriptor_tree_callback(uint8_t *descriptor,
    157169    size_t depth, void *arg)
    158170{
     
    171183                if (descr_size >= sizeof(descriptor_type)) { \
    172184                        callback(indent, (descriptor_type *) descriptor); \
     185                        if (arg != NULL) { \
     186                                usb_dump_standard_descriptor(stdout, \
     187                                    get_indent(depth +2), "\n", \
     188                                    descriptor, descr_size); \
     189                        } \
    173190                } else { \
    174191                        descr_type = -1; \
     
    191208                    usb_standard_hid_descriptor_t,
    192209                    dump_descriptor_tree_brief_hid);
     210                /*
     211                 * Probably useless, hub descriptor shall not be part of
     212                 * configuration descriptor.
     213                 */
     214                _BRANCH(USB_DESCTYPE_HUB,
     215                    usb_hub_descriptor_header_t,
     216                    dump_descriptor_tree_brief_hub);
    193217
    194218                default:
     
    203227void dump_descriptor_tree_brief(usbinfo_device_t *dev)
    204228{
    205         dump_descriptor_tree_brief_callback((uint8_t *)&dev->device_descriptor,
     229        dump_descriptor_tree_callback((uint8_t *)&dev->device_descriptor,
    206230            (size_t) -1, NULL);
    207231        usb_dp_walk_simple(dev->full_configuration_descriptor,
    208232            dev->full_configuration_descriptor_size,
    209233            usb_dp_standard_descriptor_nesting,
    210             dump_descriptor_tree_brief_callback,
     234            dump_descriptor_tree_callback,
    211235            NULL);
    212236}
     237
     238void dump_descriptor_tree_full(usbinfo_device_t *dev)
     239{
     240        dump_descriptor_tree_callback((uint8_t *)&dev->device_descriptor,
     241            (size_t) -1, dev);
     242        usb_dp_walk_simple(dev->full_configuration_descriptor,
     243            dev->full_configuration_descriptor_size,
     244            usb_dp_standard_descriptor_nesting,
     245            dump_descriptor_tree_callback,
     246            dev);
     247}
     248
    213249
    214250void dump_strings(usbinfo_device_t *dev)
Note: See TracChangeset for help on using the changeset viewer.