usbd_configuration_descriptor()

Get the configuration descriptor for a specific configuration setting

Synopsis:

#include <sys/usbdi.h>

usbd_configuration_descriptor_t 
    *usbd_configuration_descriptor(
        struct usbd_device *device,
        uint8_t cfg, 
        struct usbd_desc_node **node );

Arguments:

device
An opaque handle used to identify the USB device.
cfg
The device's configuration identifier (bConfigurationValue).
node
Indicates the descriptor's location for rooting future requests (e.g. interfaces of this configuration).

Library:

libusbdi

Description:

The usbd_configuration_descriptor() function lets you obtain the configuration descriptor for a specific configuration setting.

The usbd_configuration_descriptor_t structure looks like this:

typedef struct usbd_configuration_descriptor {
    uint8_t                  bLength;
    uint8_t                  bDescriptorType;
    uint16_t                 wTotalLength;
    uint8_t                  bNumInterfaces;
    uint8_t                  bConfigurationValue;
    uint8_t                  iConfiguration;
    uint8_t                  bmAttributes;
    uint8_t                  MaxPower;
} usbd_configuration_descriptor_t;

Returns:

A pointer to usbd_configuration_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_device_lookup(), usbd_device_extra(), usbd_device_descriptor(), usbd_endpoint_descriptor(), usbd_hcd_info(), usbd_hub_descriptor(), usbd_interface_descriptor(), usbd_languages_descriptor(), usbd_parse_descriptors(), usbd_string(), usbd_urb_status()