Получить статус устройства
#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()
Предыдущий раздел: Библиотека разработки драйверов USB-устройств (libusbdi)