Получить или установить дескрипторы USB
#include <sys/usbdi.h>
int usbd_descriptor( struct usbd_device *device,
int set,
uint8_t type,
uint16_t rtype,
uint8_t index,
uint16_t langid,
uint8_t *desc,
size_t len );
- device
- Дескриптор, идентифицирующий устройство USB.
- set
- Флаг, определяющий, что необходимо сделать: получить или установить дескриптор.
- type
- Тип дескриптора:
- USB_DESC_DEVICE
- USB_DESC_CONFIGURATION
- USB_DESC_STRING
- USB_DESC_HUB
- rtype
- Тип запроса, соответствующий параметру rtype функции usbd_status().
- index
- Параметр, который зависит от запроса к устройству.
- langid
- Параметр, который определяет язык в строках конфигурации в соответствии с таблицей
LANGID
.
- desc
- Указатель на буфер для размещения дескрипторов.
- len
- Размер передаваемых данных в байтах.
libusbdi
Функция usbd_descriptor() позволяет получить дескрипторы USB.
- EMSGSIZE
- Размер буфера слишком мал для дескриптора.
- ENOMEM
- Недостаточно памяти для блока URB.
- ENODEV
- Устройство отсоединено.
- EIO
- Ошибка ввода-вывода при обмене с устройством.
ЗОСРВ «Нейтрино»
- Да
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Нет
- В потоке
- Да
usbd_feature(), usbd_io(), usbd_parse_descriptors(), usbd_setup_bulk(), usbd_setup_control(), usbd_setup_interrupt(), usbd_setup_isochronous(), usbd_setup_vendor(), usbd_status()
Предыдущий раздел: Библиотека libusbdi