usbd_status()

Получить статус устройства

Прототип:

#include <sys/usbdi.h>
int usbd_status( struct usbd_device *device,
uint16_t rtype,
uint16_t index,
void *addr,
uint32_t len );

Аргументы:

device
Дескриптор, идентифицирующий устройство USB.
rtype
Тип запроса:
USB_RECIPIENT_DEVICE
USB_RECIPIENT_INTERFACE
USB_RECIPIENT_ENDPOINT
USB_RECIPIENT_OTHER
USB_TYPE_STANDARD
USB_TYPE_CLASS
USB_TYPE_VENDOR
index
Индекс, который зависит от запроса и используется для передачи параметра устройству.
addr
Адрес начала передачи, для которого необходимо использовать адрес буфера, выделенного вызовом usbd_alloc().
len
Длина передачи данных в байтах.

Библиотека:

libusbdi

Описание:

Функция usbd_status() позволяет получить статус устройства для определенного запроса.

Возвращаемое значение:

EOK
Успешное завершение.
EMSGSIZE
Недостаточно размера буфера для дескриптора.
ENOMEM
Недостаточно память для блока URB.
ENODEV
Устройство было отсоединено.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

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




Предыдущий раздел: Библиотека libusbdi