libusb: libusb_endpoint_descriptor Struct Reference

| libusb 1.0.26 A cross-platform user library to access USB devices

Data Fields
libusb_endpoint_descriptor Struct Reference
USB descriptors

A structure representing the standard USB endpoint descriptor. More...

`#include <libusb.h>`

## Data Fields
uint8_t | bLength
| Size of this descriptor (in bytes)
uint8_t | bDescriptorType
| Descriptor type. More...
uint8_t | bEndpointAddress
| The address of the endpoint described by this descriptor. More...
uint8_t | bmAttributes
| Attributes which apply to the endpoint when it is configured using the bConfigurationValue. More...
uint16_t | wMaxPacketSize
| Maximum packet size this endpoint is capable of sending/receiving.
uint8_t | bInterval
| Interval for polling endpoint for data transfers.
uint8_t | bRefresh
| For audio devices only: the rate at which synchronization feedback is provided.
uint8_t | bSynchAddress
| For audio devices only: the address if the synch endpoint.
const unsigned char * | extra
| Extra descriptors. More...
int | extra_length
| Length of the extra descriptors, in bytes. More...

## Detailed Description

A structure representing the standard USB endpoint descriptor.

This descriptor is documented in section 9.6.6 of the USB 3.0 specification. All multiple-byte fields are represented in host-endian format.

## Field Documentation

## ◆ bDescriptorType

uint8_t libusb_endpoint_descriptor::bDescriptorType

Descriptor type.

Will have value libusb_descriptor_type::LIBUSB_DT_ENDPOINT LIBUSB_DT_ENDPOINT in this context.

## ◆ bEndpointAddress

uint8_t libusb_endpoint_descriptor::bEndpointAddress

The address of the endpoint described by this descriptor.

Bits 0:3 are the endpoint number. Bits 4:6 are reserved. Bit 7 indicates direction, see libusb_endpoint_direction.

## ◆ bmAttributes

uint8_t libusb_endpoint_descriptor::bmAttributes

Attributes which apply to the endpoint when it is configured using the bConfigurationValue.

Bits 0:1 determine the transfer type and correspond to libusb_endpoint_transfer_type. Bits 2:3 are only used for isochronous endpoints and correspond to libusb_iso_sync_type. Bits 4:5 are also only used for isochronous endpoints and correspond to libusb_iso_usage_type. Bits 6:7 are reserved.

## ◆ extra

const unsigned char* libusb_endpoint_descriptor::extra

Extra descriptors.

If libusb encounters unknown endpoint descriptors, it will store them here, should you wish to parse them.

## ◆ extra_length

int libusb_endpoint_descriptor::extra_length

Length of the extra descriptors, in bytes.

Must be non-negative.

The documentation for this struct was generated from the following file:

- libusb.h