usbd_status()

Get specific device status

Synopsis:

#include <sys/usbdi.h>

int usbd_status( struct usbd_device *device,
                 uint16_t rtype,
                 uint16_t index, 
                 void *addr,
                 uint32_t len )

Arguments:

device
An opaque handle used to identify the USB device.
rtype
Type of request (e.g. USB_RECIPIENT_DEVICE, USB_RECIPIENT_INTERFACE, USB_RECIPIENT_ENDPOINT, USB_RECIPIENT_OTHER, USB_TYPE_STANDARD, USB_TYPE_CLASS, USB_TYPE_VENDOR).
index
This varies, depending on the request. It's used for passing a parameter to the device.
addr
Address for start of transfer — you must use the buffer allocated by usbd_alloc().
len
The length (in bytes) of the data transfer.

Library:

libusbdi

Description:

You use the usbd_status() function to get specific device status.

Returns:

EOK
Success.
EMSGSIZE
Buffer too small for descriptor.
ENOMEM
No memory for URB.
ENODEV
Device was removed.

Classification:

QNX Neutrino, QNX 4

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

usbd_descriptor(), usbd_feature(), usbd_io(), usbd_setup_bulk(), usbd_setup_control(), usbd_setup_interrupt(), usbd_setup_isochronous(), usbd_setup_vendor()