Get the hub descriptor for a specific (hub) device
#include <sys/usbdi.h>
usbd_hub_descriptor_t *usbd_hub_descriptor(
struct usbd_device *device,
struct usbd_desc_node **node );
libusbdi
The usbd_hub_descriptor() function lets you obtain a hub descriptor.
The usbd_hub_descriptor_t data structure looks like this:
typedef struct usbd_hub_descriptor {
uint8_t bLength;
uint8_t bDescriptorType;
uint8_t bNbrPorts;
uint16_t wHubCharacteristics;
uint8_t bPwrOn2PwrGood;
uint8_t bHubContrCurrent;
uint8_t DeviceRemovable[1];
uint8_t PortPwrCtrlMask[1];
} usbd_hub_descriptor_t;
A pointer to usbd_hub_descriptor_t on success, or NULL on error.
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
usbd_args_lookup(), usbd_configuration_descriptor(), usbd_device_lookup(), usbd_device_extra(), usbd_device_descriptor(), usbd_endpoint_descriptor(), usbd_hcd_info(), usbd_interface_descriptor(), usbd_languages_descriptor(), usbd_parse_descriptors(), usbd_string(), usbd_urb_status()