Changeset 06f9a9c9 in mainline for uspace/app/usbinfo/info.c
- Timestamp:
- 2013-01-27T13:17:49Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e2dfa86
- Parents:
- 5b401b9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/usbinfo/info.c
r5b401b9 r06f9a9c9 37 37 #include <str_error.h> 38 38 #include <errno.h> 39 #include <usb/debug.h> 39 40 #include <usb/dev/pipes.h> 40 41 #include <usb/dev/recognise.h> … … 44 45 #include "usbinfo.h" 45 46 46 void dump_short_device_identification(usb info_device_t *dev)47 void dump_short_device_identification(usb_device_t *usb_dev) 47 48 { 48 49 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); 51 52 } 52 53 … … 66 67 } 67 68 68 usbinfo_device_t *dev = (usbinfo_device_t *) arg; 69 usb_device_t *usb_dev = arg; 70 assert(usb_dev); 69 71 70 72 usb_standard_interface_descriptor_t *iface … … 80 82 match_id_list_t matches; 81 83 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); 84 86 dump_match_ids(&matches, get_indent(1)); 85 87 clean_match_ids(&matches); 86 88 } 87 89 88 void dump_device_match_ids(usb info_device_t *dev)90 void dump_device_match_ids(usb_device_t *usb_dev) 89 91 { 90 92 match_id_list_t matches; 91 93 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); 94 97 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)); 98 100 dump_match_ids(&matches, get_indent(1)); 99 101 clean_match_ids(&matches); 100 102 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); 106 109 } 107 110 … … 224 227 } 225 228 226 void dump_descriptor_tree_brief(usbinfo_device_t *dev) 227 { 228 dump_descriptor_tree_callback((uint8_t *)&dev->device_descriptor, 229 void 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), 229 233 (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 243 void 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); 246 255 } 247 256 … … 285 294 286 295 287 void dump_strings(usb info_device_t *dev)296 void dump_strings(usb_device_t *usb_dev) 288 297 { 289 298 /* Find used indexes. Devices with more than 64 strings are very rare.*/ 290 299 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, 292 302 &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); 298 309 299 310 if (str_mask == 0) { … … 305 316 l18_win_locales_t *langs; 306 317 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); 309 320 if (rc != EOK) { 310 321 fprintf(stderr, … … 334 345 } 335 346 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, 337 349 &string); 338 350 if ((rc != EOK) && (rc != EEMPTY)) { … … 351 363 352 364 353 void dump_status(usb info_device_t *dev)365 void dump_status(usb_device_t *usb_dev) 354 366 { 355 367 int rc; … … 357 369 358 370 /* 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), 360 372 USB_REQUEST_RECIPIENT_DEVICE, 0, &status); 361 373 if (rc != EOK) { … … 373 385 /* Control endpoint zero. */ 374 386 status = 0; 375 rc = usb_request_get_status( &dev->ctrl_pipe,387 rc = usb_request_get_status(usb_device_get_default_pipe(usb_dev), 376 388 USB_REQUEST_RECIPIENT_ENDPOINT, 0, &status); 377 389 if (rc != EOK) {
Note:
See TracChangeset
for help on using the changeset viewer.