Changeset cb61e8f in mainline
- Timestamp:
- 2011-03-24T21:15:01Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 538bb6b, fcafa04
- Parents:
- 915a851
- Location:
- uspace/app/usbinfo
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/usbinfo/info.c
r915a851 rcb61e8f 294 294 } 295 295 296 297 void dump_status(usbinfo_device_t *dev) 298 { 299 int rc; 300 uint16_t device_status = 0; 301 uint16_t ctrl_pipe_status = 0; 302 303 /* Device status first. */ 304 rc = usb_request_get_status(&dev->ctrl_pipe, 305 USB_REQUEST_RECIPIENT_DEVICE, 0, 306 &device_status); 307 if (rc != EOK) { 308 printf("%sFailed to get device status: %s.\n", 309 get_indent(0), str_error(rc)); 310 goto try_ctrl_pipe_status; 311 } 312 313 printf("%sDevice status 0x%04x: power=%s, remote-wakeup=%s.\n", 314 get_indent(0), 315 device_status, 316 device_status & USB_DEVICE_STATUS_SELF_POWERED ? "self" : "bus", 317 device_status & USB_DEVICE_STATUS_REMOTE_WAKEUP ? "yes" : "no"); 318 319 /* Interface is not interesting, skipping ;-). */ 320 321 /* Control endpoint zero. */ 322 try_ctrl_pipe_status: 323 rc = usb_request_get_status(&dev->ctrl_pipe, 324 USB_REQUEST_RECIPIENT_ENDPOINT, 0, 325 &ctrl_pipe_status); 326 if (rc != EOK) { 327 printf("%sFailed to get control endpoint status: %s.\n", 328 get_indent(0), str_error(rc)); 329 goto leave; 330 } 331 332 printf("%sControl endpoint zero status %04X: halted=%s.\n", 333 get_indent(0), 334 ctrl_pipe_status, 335 ctrl_pipe_status & USB_ENDPOINT_STATUS_HALTED ? "yes" : "no"); 336 337 leave: 338 return; 339 } 340 296 341 /** @} 297 342 */ -
uspace/app/usbinfo/main.c
r915a851 rcb61e8f 136 136 _OPTION("-T --descriptor-tree-full", "Print detailed descriptor tree"); 137 137 _OPTION("-s --strings", "Try to print all string descriptors."); 138 _OPTION("-S --status", "Get status of the device."); 138 139 139 140 printf("\n"); … … 152 153 {"descriptor-tree-full", no_argument, NULL, 'T'}, 153 154 {"strings", no_argument, NULL, 's'}, 155 {"status", no_argument, NULL, 'S'}, 154 156 {0, 0, NULL, 0} 155 157 }; 156 static const char *short_options = "himtTs ";158 static const char *short_options = "himtTsS"; 157 159 158 160 static usbinfo_action_t actions[] = { … … 180 182 .opt = 's', 181 183 .action = dump_strings, 184 .active = false 185 }, 186 { 187 .opt = 'S', 188 .action = dump_status, 182 189 .active = false 183 190 }, -
uspace/app/usbinfo/usbinfo.h
r915a851 rcb61e8f 84 84 void dump_descriptor_tree_full(usbinfo_device_t *); 85 85 void dump_strings(usbinfo_device_t *); 86 void dump_status(usbinfo_device_t *); 86 87 87 88
Note:
See TracChangeset
for help on using the changeset viewer.