Библиотека libusbdi

Интерфейсная библиотека USB стека позволяет разрабатывать драйверы устройств Universal Serial Bus.

Список подразделов:

Статьи и обзоры
API
Функции установления соединения
Функции управления памятью
Функции ввода-вывода
Функции управления каналами
Функции управления конфигурациями и интерфейсами
Другие функции

Статьи и обзоры

Статья Описание
Обзорное руководство по стеку USB и драйверной библиотеке
Перечень связанных утилит командной строки

API

Функции установления соединения

Функция / тип данных Описание
Подключить устройство USB
Структура, определяющая дескриптор параметра конфигурации
Подключиться к стеку USB
Структура, определяющая дескриптор соединения
Отключиться от USB устройства
Структура, определяющая фильтры устройств, с которыми будет работать драйвер
Структура, определяющая дескриптор подключаемого устройства
Отключиться от стека USB
Структура, определяющая обработчики событий присоединения и отсоединения устройства

Функции управления памятью

Функция / тип данных Описание
Выделить область памяти для передачи данных
Выделение блока URB (USB Request Block) для последующих операций ввода-вывода
Освободить память, выделенную через вызов usbd_alloc()
Освободить блок URB, выделенный функцией usbd_alloc_urb()
Получить физический адрес памяти, выделенной функцией usbd_alloc()

Функции ввода-вывода

Функция / тип данных Описание
Получить или установить дескрипторы USB
Управлять заданным свойством устройства USB
Отправить подготовленный блок URB в стек USB
Настроить блок URB для передачи объемных данных
Настроить блок URB для управляющей передачи
Настроить блок URB для передачи данных типа interrupt
Настроить блок URB для изохронной передачи данных
Настроить блок URB для передачи, определенной производителем
Получить статус устройства

Функции управления каналами

Функция / тип данных Описание
Прервать все запросы в канале
Закрыть канал, который был открыт через usbd_open_pipe()
Инициализировать канал, описанный дескриптором устройства или дескриптором конечной точки
Получить дескриптор связанного с каналом устройства
Получить номер связанной с каналом конечной точки
Очистить условия остановки обмена с конечной точкой

Функции управления конфигурациями и интерфейсами

Функция / тип данных Описание
Выбрать конфигурацию для устройства USB
Выбрать интерфейс для устройства USB

Другие функции

Функция / тип данных Описание
Просмотреть параметры командной строки драйвера
Структура, определяющая топологию шины USB
Получить дескриптор для указанного параметра конфигурации.
Получить дескриптор устройства для указанного устройства USB
Структура, определяющая дескриптор устройства
Получить указатель на выделенную дополнительную память
Сопоставить идентификатор экземпляра устройства с дескриптором устройства
Получить дескриптор конечной точки для определенного параметра
Структура, определяющая дескриптор конечной точки
Получить текущий номер и длину кадра устройства
Получить информацию об USB хост-контроллере и библиотеке стека USB
Структура, содержащая информацию об USB хост-контроллере и библиотеке стека USB
Получить дескриптор заданного хаба USB
Структура, определяющая дескриптор хаба
Получить дескриптор интерфейса для заданной настройки
Структура, определяющая дескриптор интерфейса
Получить таблицу поддерживаемых языков для заданного устройства USB
Найти конкретную запись в дереве дескрипторов устройства USB
Структура, определяющая элементы топологии шины USB
Сбросить устройство USB
Получить строковый дескриптор
Структура, определяющая строковый дескриптор
Получить физическую топологию шины USB
Получить информацию о статусе блока URB




Предыдущий раздел: Разработка драйверов и драйверные библиотеки