Changes in uspace/app/usbinfo/main.c [c82135a8:df0bbe1] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/usbinfo/main.c
rc82135a8 rdf0bbe1 45 45 #include <usb/usbdevice.h> 46 46 #include <usb/pipes.h> 47 #include <usb/host.h> 47 48 #include "usbinfo.h" 49 50 static bool try_parse_class_and_address(const char *path, 51 devman_handle_t *out_hc_handle, usb_address_t *out_device_address) 52 { 53 size_t class_index; 54 size_t address; 55 int rc; 56 char *ptr; 57 58 rc = str_size_t(path, &ptr, 10, false, &class_index); 59 if (rc != EOK) { 60 return false; 61 } 62 if ((*ptr == ':') || (*ptr == '.')) { 63 ptr++; 64 } else { 65 return false; 66 } 67 rc = str_size_t(ptr, NULL, 10, true, &address); 68 if (rc != EOK) { 69 return false; 70 } 71 rc = usb_ddf_get_hc_handle_by_class(class_index, out_hc_handle); 72 if (rc != EOK) { 73 return false; 74 } 75 if (out_device_address != NULL) { 76 *out_device_address = (usb_address_t) address; 77 } 78 return true; 79 } 48 80 49 81 static bool resolve_hc_handle_and_dev_addr(const char *devpath, … … 60 92 if (str_cmp(devpath, "virt") == 0) { 61 93 devpath = "/virt/usbhc/usb00_a1/usb00_a2"; 94 } 95 96 if (try_parse_class_and_address(devpath, 97 out_hc_handle, out_device_address)) { 98 return true; 62 99 } 63 100
Note:
See TracChangeset
for help on using the changeset viewer.