![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Get the USB bus physical topology
#include <sys/usbdi.h>
int usbd_topology( struct usbd_connection *connection,
usbd_bus_topology_t *tp )
You use the usbd_topology() function to get the USB bus physical topology.
![]() |
For more information on USB bus topology, see sections 4.1.1 and 5.2.3 in the USB Specification v1.1. |
Here are the parameters:
The usbd_bus_topology_t structure contains at least the following:
typedef struct usbd_port_attachment {
_uint8 upstream_devno;
_uint8 upstream_port;
_uint8 upstream_port_speed;
} usbd_port_attachment_t;
typedef struct usbd_bus_topology {
usbd_port_attachment_t ports[64];
} usbd_bus_topology_t;
The structure contains an array of usb_port_attachments, one per device. Note that the upstream_devno field will contain a value other than 0xff to indicate a valid attachment.
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
![]() |
![]() |
![]() |
![]() |