A cross-platform user library to access USB devices
Data Fields
libusb_endpoint_descriptor Struct Reference

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. More...
 
uint8_t bInterval
 Interval for polling endpoint for data transfers. More...
 
uint8_t bRefresh
 For audio devices only: the rate at which synchronization feedback is provided. More...
 
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

uint8_t libusb_endpoint_descriptor::bDescriptorType

Descriptor type.

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

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.

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_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.

uint16_t libusb_endpoint_descriptor::wMaxPacketSize

Maximum packet size this endpoint is capable of sending/receiving.

uint8_t libusb_endpoint_descriptor::bInterval

Interval for polling endpoint for data transfers.

uint8_t libusb_endpoint_descriptor::bRefresh

For audio devices only: the rate at which synchronization feedback is provided.

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.

int libusb_endpoint_descriptor::extra_length

Length of the extra descriptors, in bytes.


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