usb_get_status(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

usb_get_status(9f)

usb_get_status(9F)             Kernel Functions             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 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 sta‐
       tus.


       When  the  request_type  is  USB_DEV_REQ_RCPT_EP,  endpoint  status  is
       requested.  Status  returned includes bits for USB_EP_HALT_STATUS (end‐
       point 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 argu‐
                           ment.


       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(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  ArchitecturePCI-based systems _ Interface Stability‐
       Committed _ Availabilitysystem/io/usb


SEE ALSO
       attributes(7),         usb_clr_feature(9F),         usb_get_alt_if(9F),
       usb_get_cfg(9F), usb_pipe_get_state(9F),



Oracle Solaris 11.4               5 Jan 2004                usb_get_status(9F)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3