<!--
{
  "availability" : [
    "DriverKit: 19.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "USBDriverKit",
  "identifier" : "/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "USBDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUSBStandardEndpointDescriptors"
  },
  "title" : "IOUSBStandardEndpointDescriptors"
}
-->

# IOUSBStandardEndpointDescriptors

Encapsulates the descriptors for a single endpoint.

```
struct IOUSBStandardEndpointDescriptors;
```

## Discussion

Use this structure to intialize and adjust pipes in the system. You must initialize the bcdUSB member to the USB revision supported by the device. Acceptable values are `0x0110`, `0x0200`, `0x0300`, `0x0310`.

Initialize the descriptor field with a pointer to a valid endpoint descriptor. The [`ssCompanionDescriptor`](/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors/ssCompanionDescriptor) and [`sspCompanionDescriptor`](/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors/sspCompanionDescriptor) fields may be required for USB versions `0x0300` and greater, depending on device operating speed and values set in the descriptors.

For more information on when you must use these descriptors, see section 9.5 of the USB 3.1 specification.

## Topics

### Getting the Descriptors

[`uint16_t bcdUSB;`](/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors/bcdUSB)

The USB version supported by the device, specified as a binary-coded decimal value.

[`IOUSBEndpointDescriptor descriptor;`](/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors/descriptor)

A valid endpoint descriptor.

[`IOUSBSuperSpeedEndpointCompanionDescriptor ssCompanionDescriptor;`](/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors/ssCompanionDescriptor)

The companion descriptor for super-speed devices.

[`IOUSBSuperSpeedPlusIsochronousEndpointCompanionDescriptor sspCompanionDescriptor;`](/documentation/USBDriverKit/IOUSBStandardEndpointDescriptors/sspCompanionDescriptor)

The companion descriptor for super-speed plus devices.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)