Writing Device Drivers for Oracle® Solaris 11.2

Exit Print View

Updated: September 2014
 
 

Pipe States

Pipes are in one of the following states:

  • USB_PIPE_STATE_IDLE

    • All control and bulk pipes, interrupt-OUT pipes, and isochronous-OUT pipes: No request is in progress.

    • Interrupt-IN and isochronous-IN pipes: No polling is in progress.

  • USB_PIPE_STATE_ACTIVE

    • All control and bulk pipes, interrupt-OUT pipes, and isochronous-OUT pipes: The pipe is transferring data or an I/O request is active.

    • Interrupt-IN and isochronous-IN pipes: Polling is active.

  • USB_PIPE_STATE_ERROR. An error occurred. If this pipe is not the default pipe and if autoclearing is not enabled, then the client driver must call the usb_pipe_reset(9F) function.

  • USB_PIPE_STATE_CLOSING. The pipe is being closed.

  • USB_PIPE_STATE_CLOSED. The pipe is closed.

Call the usb_pipe_get_state(9F) function to retrieve the state of a pipe.