Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

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                  bLength;
    _uint8                  bDescriptorType;
    _uint8                  bNbrPorts;
    _uint16                 wHubCharacteristics;
    _uint8                  bPwrOn2PwrGood;
    _uint8                  bHubContrCurrent;
    _uint8                  DeviceRemovable[1];
    _uint8                  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()