USBD_STATUS(9) | Kernel Developer's Manual | USBD_STATUS(9)

# NAME

`usbd_status` —
USB device drivers interface return status values

# SYNOPSIS

`#include <dev/usb/usbdi.h>`

# DESCRIPTION

This documents the full list of return values used by the generic USB code. Interface-specific definitions will be given with interface.

# RETURN VALUES

Return values are split into two main groups: expected values and error values.

There are only two expected values:

`USBD_NORMAL_COMPLETION`
  The operation completed successfully.
`USBD_IN_PROGRESS`
  The operation was successfully submitted, usually part of an asynchronous operation.

These are the error values:

`USBD_PENDING_REQUESTS`
  The requested operation could not be completed due to pending requests, usually from a pipe close operation.
`USBD_NOT_STARTED`
  The initial status of a USB transfer. See usbdi(9) for more details about USB transfers.
`USBD_INVAL`
  Invalid arguments were supplied for the requested operation.
`USBD_NOMEM`
  No memory could be allocated.
`USBD_CANCELLED`
  The USB transfer has been cancelled, and not completed.
`USBD_BAD_ADDRESS`
  The requested USB pipe could not be found. See usbdi(9) for more details about USB pipes.
`USBD_IN_USE`
  The requested operation could not be performed due to the device having active connections, such as USB audio device currently playing.
`USBD_NO_ADDR`
  USB bus has reached its maximum limit of devices.
`USBD_SET_ADDR_FAILED`
  Call to `usbd_set_address`() failed during new USB device discovery.
`USBD_NO_POWER`
  New device has requested more power than is available.
`USBD_TOO_DEEP`
  New USB Hub too deep from the root.
`USBD_IOERROR`
  Non-specific error happened during IO.
`USBD_NOT_CONFIGURED`
  USB device is not configured; it has no configuration descriptor.
`USBD_TIMEOUT`
  Operation timed out.
`USBD_SHORT_XFER`
  USB transfer succeeded but not all requested data was returned.
`USBD_STALLED`
  USB controller has stalled (controller specific.)
`USBD_INTERRUPTED`
  Process was interrupted by external means (such as a signal) while waiting for a transfer to complete.

# SEE ALSO

usb(4), usbdi(9)

# HISTORY

This `usbd_status` interface first appeared in NetBSD 1.4.

May 12, 2012 | NetBSD 9.0