csx_AccessConfigurationRegister(9F)
csx_Parse_CISTPL_BYTEORDER(9F)
csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
csx_Parse_CISTPL_DEVICEGEO(9F)
csx_Parse_CISTPL_DEVICEGEO_A(9F)
csx_Parse_CISTPL_DEVICE_OA(9F)
csx_Parse_CISTPL_DEVICE_OC(9F)
csx_Parse_CISTPL_LINKTARGET(9F)
csx_Parse_CISTPL_LONGLINK_A(9F)
csx_Parse_CISTPL_LONGLINK_C(9F)
csx_Parse_CISTPL_LONGLINK_MFC(9F)
ddi_get_soft_iblock_cookie(9F)
ddi_intr_get_supported_types(9F)
ddi_prop_lookup_byte_array(9F)
ddi_prop_lookup_int64_array(9F)
ddi_prop_lookup_string_array(9F)
ddi_prop_update_byte_array(9F)
ddi_prop_update_int64_array(9F)
ddi_prop_update_string_array(9F)
ldi_prop_lookup_byte_array(9F)
ldi_prop_lookup_int64_array(9F)
ldi_prop_lookup_string_array(9F)
mac_prop_info_set_default_link_flowctrl(9F)
mac_prop_info_set_default_str(9F)
mac_prop_info_set_default_uint8(9F)
mac_prop_info_set_range_uint32(9F)
net_event_notify_unregister(9F)
net_instance_notify_register(9F)
net_instance_notify_unregister(9F)
net_instance_protocol_unregister(9F)
net_protocol_notify_register(9F)
nvlist_lookup_boolean_array(9F)
nvlist_lookup_boolean_value(9F)
nvlist_lookup_nvlist_array(9F)
nvlist_lookup_string_array(9F)
nvlist_lookup_uint16_array(9F)
nvlist_lookup_uint32_array(9F)
nvlist_lookup_uint64_array(9F)
nvpair_value_boolean_array(9F)
scsi_get_device_type_scsi_options(9F)
usb_get_current_frame_number(9F)
usb_get_max_pkts_per_isoc_request(9F)
usb_pipe_get_max_bulk_transfer_size(9F)
usb_pipe_stop_intr_polling(9F)
usb_pipe_stop_isoc_polling(9F)
- Get status of a USB device/endpoint/interface
#include <sys/usb/usba.h> int usb_get_status(dev_info_t *dip, usb_pipe_handle_t pipe_handle, uint_t request_type, uint_t which, uint16_t *status, usb_flags_t flags);
Solaris DDI specific (Solaris DDI)
Pointer to device's dev_info structure.
Default control pipe handle on which request is made.
bmRequestType. Either:
USB_DEV_REQ_RCPT_DEV — Get device status.
USB_DEV_REQ_RCPT_IF — Get interface status.
USB_DEV_REQ_RCPT_EP — Get endpoint status.
Device, interface or endpoint from which to get status. Either number of interface or endpoint, or 0 if device status requested.
Address into which the status is written.
None are recognized.
The usb_get_status() function returns the status of a device, interface or endpoint. All status requests use the default control pipe. Length of data returned is USB_GET_STATUS_LEN bytes. Always block and wait for resources if not available, regardless of the flags argument.
When the request_type recipient is USB_DEV_REQ_RCPT_DEV, device status is requested. Status returned includes bits for USB_DEV_SLF_PWRD_STATUS (device is currently self-powered) and USB_DEV_RWAKEUP_STATUS (device has remote wakeup enabled). A set bit indicates the corresponding status.
When the request_type is USB_DEV_REQ_RCPT_EP, endpoint status is requested. Status returned includes bits for USB_EP_HALT_STATUS (endpoint is halted). A set bit indicates the corresponding status.
When the request_type is USB_DEV_REQ_RCPT_IF, interface status is requested and USB_IF_STATUS (zero) is returned.
Status returned successfully in the status argument.
Status pointer and/or dip argument is NULL.
Pipe handle is NULL.
Status not returned successfully.
May be called from user or kernel context.
uint16_t status; if (usb_get_status( dip, pipe_handle, USB_DEV_REQ_RCPT_DEV, 0 &status, 0) == USB_SUCCESS) { if (status & USB_DEV_SLF_PWRD_STATUS) { cmn_err (CE_WARN, "%s%d: USB device is running on its own power.", ddi_driver_name(dip), ddi_get_instance(dip)); } }
See attributes(5) for descriptions of the following attributes:
|
attributes(5), usb_clr_feature(9F), usb_get_alt_if(9F), usb_pipe_get_state(9F), usb_get_cfg(9F),