usbd_hub_descriptor()

Get the hub descriptor for a specific (hub) device

Synopsis:

#include <sys/usbdi.h>

usbd_hub_descriptor_t *usbd_hub_descriptor( 
                        struct usbd_device *device,
                        struct usbd_desc_node **node );

Arguments:

device
An opaque handle used to identify the USB device.
node
Indicates the descriptor's location for rooting future requests.

Library:

libusbdi

Description:

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;

Returns:

A pointer to usbd_hub_descriptor_t on success, or NULL on error.

Classification:

QNX Neutrino, QNX 4

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

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()