@@ -1035,6 +1035,21 @@ struct internal_ssplus_capability_descriptor {
10351035};
10361036/// @endcond
10371037
1038+ /** \ingroup libusb_desc
1039+ * Get a SuperSpeedPlus USB Device Capability descriptor
1040+ *
1041+ * Since version 1.0.28, \ref LIBUSB_API_VERSION >= 0x0100010B
1042+ *
1043+ * \param ctx the context to operate on, or NULL for the default context
1044+ * \param dev_cap Device Capability descriptor with a bDevCapabilityType of
1045+ * \ref libusb_bos_type::LIBUSB_BT_SUPERSPEED_PLUS_CAPABILITY
1046+ * LIBUSB_BT_SUPERSPEED_PLUS_CAPABILITY
1047+ * \param ssplus_usb_device_cap output location for the SuperSpeedPlus USB Device
1048+ * Capability descriptor. Only valid if 0 was returned. Must be freed with
1049+ * libusb_free_ssplus_usb_device_capability_descriptor() after use.
1050+ * \returns 0 on success
1051+ * \returns a LIBUSB_ERROR code on error
1052+ */
10381053int API_EXPORTED libusb_get_ssplus_usb_device_capability_descriptor (
10391054 libusb_context * ctx ,
10401055 struct libusb_bos_dev_capability_descriptor * dev_cap ,
@@ -1102,6 +1117,17 @@ int API_EXPORTED libusb_get_ssplus_usb_device_capability_descriptor(
11021117 return LIBUSB_SUCCESS ;
11031118}
11041119
1120+ /** \ingroup libusb_desc
1121+ * Free a SuperSpeedPlus USB Device Capability descriptor obtained from
1122+ * libusb_get_ssplus_usb_device_capability_descriptor().
1123+ * It is safe to call this function with a NULL ssplus_usb_device_cap
1124+ * parameter, in which case the function simply returns.
1125+ *
1126+ * Since version 1.0.28, \ref LIBUSB_API_VERSION >= 0x0100010B
1127+ *
1128+ * \param ssplus_usb_device_cap the SuperSpeedPlus USB Device Capability descriptor
1129+ * to free
1130+ */
11051131void API_EXPORTED libusb_free_ssplus_usb_device_capability_descriptor (
11061132 struct libusb_ssplus_usb_device_capability_descriptor * ssplus_usb_device_cap )
11071133{
0 commit comments