usbd_descriptor()

Получить или установить дескрипторы 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