Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

usb_get_status(9f) [opensolaris man page]

usb_get_status(9F)					   Kernel Functions for Drivers 					usb_get_status(9F)

NAME
usb_get_status - Get status of a USB device/endpoint/interface SYNOPSIS
#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); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI) PARAMETERS
dip Pointer to device's dev_info structure. pipe_handle Default control pipe handle on which request is made. request_type 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. which Device, interface or endpoint from which to get status. Either number of interface or endpoint, or 0 if device status requested. status Address into which the status is written. flags None are recognized. DESCRIPTION
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 argu- ment. 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. RETURN VALUES
USB_SUCCESS Status returned successfully in the status argument. USB_INVALID_ARGS Status pointer and/or dip argument is NULL. USB_INVALID_PIPE Pipe handle is NULL. USB_FAILURE Status not returned successfully. CONTEXT
May be called from user or kernel context. EXAMPLES
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)); } } ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |PCI-based systems | +-----------------------------+-----------------------------+ |Interface stability |Committed | +-----------------------------+-----------------------------+ |Availability |SUNWusb | +-----------------------------+-----------------------------+ SEE ALSO
attributes(5), usb_clr_feature(9F), usb_get_alt_if(9F), usb_pipe_get_state(9F), usb_get_cfg(9F), SunOS 5.11 5 Jan 2004 usb_get_status(9F)

Check Out this Related Man Page

usb_pipe_get_state(9F)					   Kernel Functions for Drivers 				    usb_pipe_get_state(9F)

NAME
usb_pipe_get_state - Return USB pipe state SYNOPSIS
#include <sys/usb/usba.h> int usb_pipe_get_state(usb_pipe_handle_t pipe_handle, usb_pipe_state_t *pipe_state, usb_flags_t usb_flags); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI) PARAMETERS
pipe_handle Handle of the pipe to retrieve the state. pipe_state Pointer to where pipe state is returned. usb_flags No flags are recognized. Reserved for future expansion. DESCRIPTION
The usb_pipe_get_state() function retrieves the state of the pipe referred to by pipe_handle into the location pointed to by pipe_state. Possible pipe states are: USB_PIPE_STATE_CLOSED Pipe is closed. USB_PIPE_STATE_ACTIVE Pipe is active and can send/receive data. Polling is active for isochronous and interrupt pipes. USB_PIPE_STATE_IDLE Polling is stopped for isochronous and interrupt-IN pipes. USB_PIPE_STATE_ERROR An error occurred. Client must call usb_pipe_reset(). Note that this status is not seen by a client driver if USB_ATTRS_AUTOCLEARING is set in the request attributes. USB_PIPE_STATE_CLOSING Pipe is being closed. Requests are being drained from the pipe and other cleanup is in progress. RETURN VALUES
USB_SUCCESS Pipe state returned in second argument. USB_INVALID_ARGS Pipe_state argument is NULL. USB_INVALID_PIPE Pipe_handle argument is NULL. CONTEXT
May be called from user, kernel or interrupt context. EXAMPLES
usb_pipe_handle_t pipe; usb_pipe_state_t state; /* Recover if the pipe is in an error state. */ if ((usb_pipe_get_state(pipe, &state, 0) == USB_SUCCESS) && (state == USB_PIPE_STATE_ERROR)) { cmn_err (CE_WARN, "%s%d: USB Pipe error.", ddi_driver_name(dip), ddi_get_instance(dip)); do_recovery(); } ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Architecture |PCI-based systems | +-----------------------------+-----------------------------+ |Interface stability |Committed | +-----------------------------+-----------------------------+ |Availability |SUNWusb | +-----------------------------+-----------------------------+ SEE ALSO
attributes(5), usb_clr_feature(9F), usb_get_cfg(9F). usb_get_status(9F), usb_pipe_close(9F), usb_pipe_ctrl_xfer(9F), usb_pipe_open(9F). usb_pipe_reset(9F) SunOS 5.11 5 Jan 2004 usb_pipe_get_state(9F)
Man Page