Operating systems, development tools, and professional services
for connected embedded systems

Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation

usbd_interface_descriptor

usbd_interface_descriptor()

Get the interface descriptor for a specific interface setting

Synopsis:

#include <sys/usbdi.h>

usbd_interface_descriptor_t 
   *usbd_interface_descriptor(
       struct usbd_device *device,                          
       _uint8 cfg,                                          
       _uint8 ifc,                                          
       _uint8 alt,                                          
       struct usbd_desc_node **node );                       

Arguments:

device
An opaque handle used to identify the USB device.
cfg
The device's configuration identifier (bConfigurationValue).
ifc
Interface identifier (bInterfaceNumber).
alt
Alternate identifier (bAlternateSetting).
node
Indicates the descriptor's location for rooting future requests (e.g. endpoints of this interface).

Library:

libusbdi

Description:

The usbd_interface_descriptor() function lets you obtain the interface descriptor for a specific interface setting.

The usbd_interface_descriptor_t structure looks like this:

typedef struct usbd_interface_descriptor {
    _uint8                  bLength;
    _uint8                  bDescriptorType;
    _uint8                  bInterfaceNumber;
    _uint8                  bAlternateSetting;
    _uint8                  bNumEndpoints;
    _uint8                  bInterfaceClass;
    _uint8                  bInterfaceSubClass;
    _uint8                  bInterfaceProtocol;
    _uint8                  iInterface;
} usbd_interface_descriptor_t;

Returns:

A pointer to usbd_interface_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_hub_descriptor(), usbd_languages_descriptor(), usbd_parse_descriptors(), usbd_string(), usbd_urb_status()