usbd_topology(), usbd_topology_ext()

Получить физическую топологию шины USB

Прототип:

#include <sys/usbdi.h>
int usbd_topology( struct usbd_connection *connection,
usbd_bus_topology_t *tp );
int usbd_topology_ext( struct usbd_connection *connection,
uint8_t busno,
usbd_bus_topology_t *tp );

Аргументы:

connection
Дескриптор для идентификации USB стека, возвращаемый функцией usbd_connect().
bus
Индекс шины, для которой необходимо получить топологию (только для функции usbd_topology_ext())
tp
Указатель на структуру usbd_bus_topology_t, которую функция заполнит.

Библиотека:

libusbdi

Описание:

Функции usbd_topology() и функция usbd_topology_ext() позволяют получить физическую топологию шины USB.


Note: Подробнее о топологии шины USB см. параграфы 4.1.1 и 5.2.3 в спецификации USB v1.1.

Если в системе имеется более одной шины USB, то можно вызвать usb_topology_ext() для получения информации о конкретной шине. Функция usb_topology() получает информацию о первой шине, ее вызов аналогичен вызову usb_topology() с параметром bus равным 0.

Возвращаемое значение:

EOK
Успешное завершение.
ENODEV
Устройство было отсоединено.

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

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

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

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

usbd_bus_topology_t, usbd_port_attachment_t, usbd_connect()




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