usbd_connect_parm_t

Структура, определяющая дескриптор соединения

Прототип:

#include <sys/usbdi.h>
typedef struct usbd_connect_parm {
const char *path;
uint16_t vusb;
uint16_t vusbd;
uint32_t flags;
int argc;
char **argv;
uint32_t evtbufsz;
usbd_device_ident_t *ident;
usbd_funcs_t *funcs;
uint16_t connect_wait
} usbd_connect_parm_t;

Описание:

Структура определяет дескриптор соединения и включает следующие элементы:

path
Имя стека (NULL соответствует имени по умолчанию /dev/io-usb/io-usb).
vusb
vusbd
Версии стека (USB_VERSION) и (USBD_VERSION).
flags
В текущей реализации передается 0.
argc
argv
Параметры командной строки драйвера, которые во время подключения устройства доступны через вызов usbd_args_lookup().
evtbufsz
Размер буфера событий, используемого потоком - обработчиком для буферизации событий USB стека. Для использования размера по умолчанию задается равным 0.
ident
Указатель на структуру usbd_device_ident_t для задания фильтра устройств, с которыми будет работать драйвер. Элементам структуру можно задать значение USB_CONNECT_WILDCARD или указать явное значение. Как правило, элементы структуры usbd_device_ident_t задаюся для фильтрации устройств, с которыми должен работать драйвер, например, драйвер класса устройств.
funcs
Указатель на структуру usbd_funcs_t, в которой задаются функции - обработчики событий присоединения и отсоединения устройства.

Note: Передача NULL в указателе структуры usbd_funcs_t означает, что программе не требуется получение динамических уведомлений о подсоединении и отсоединении устройств. В таком случае не будет разрешен асинхронный ввод-вывод, не будет создан поток - обработчик событий и т.д. Такой подход используется, например, утилитой отображения устройств на шине usb.

connect_wait
Таймаут в секундах на соединение со стеком или USBD_CONNECT_WAIT.

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

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

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

usbd_device_ident_t, usbd_funcs_t, usbd_connect()




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