\ingroup libusb_desc
A structure representing the Binary Device Object Store (BOS) descriptor.
This descriptor is documented in section 9.6.2 of the USB 3.0 specification.
All multiple-byte fields are represented in host-endian format.
\ingroup libusb_desc
A generic representation of a BOS Device Capability descriptor. It is
advised to check bDevCapabilityType and call the matching
libusb_get_*_descriptor function to get a structure fully matching the type.
\ingroup libusb_misc
Capabilities supported by an instance of libusb on the current running
platform. Test if the loaded library supports a given capability by calling
\ref libusb_has_capability().
\ingroup libusb_desc
A structure representing the standard USB configuration descriptor. This
descriptor is documented in section 9.6.3 of the USB 3.0 specification.
All multiple-byte fields are represented in host-endian format.
\ingroup libusb_desc
A structure representing the Container ID descriptor.
This descriptor is documented in section 9.6.2.3 of the USB 3.0 specification.
All multiple-byte fields, except UUIDs, are represented in host-endian format.
\ingroup libusb_desc
A structure representing the standard USB device descriptor. This
descriptor is documented in section 9.6.1 of the USB 3.0 specification.
All multiple-byte fields are represented in host-endian format.
\ingroup libusb_desc
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.
\ingroup libusb_misc
Error codes. Most libusb functions return 0 on success or one of these
codes on failure.
You can call libusb_error_name() to retrieve a string representation of an
error code or libusb_strerror() to get an end-user suitable description of
an error code.
\ingroup libusb_desc
A structure representing the standard USB interface descriptor. This
descriptor is documented in section 9.6.5 of the USB 3.0 specification.
All multiple-byte fields are represented in host-endian format.
\ingroup libusb_desc
Synchronization type for isochronous endpoints. Values for bits 2:3 of the
\ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in
libusb_endpoint_descriptor.
\ingroup libusb_desc
Usage type for isochronous endpoints. Values for bits 4:5 of the
\ref libusb_endpoint_descriptor::bmAttributes "bmAttributes" field in
libusb_endpoint_descriptor.
\ingroup libusb_misc
Recipient bits of the
\ref libusb_control_setup::bmRequestType "bmRequestType" field in control
transfers. Values 4 through 31 are reserved.
\ingroup libusb_desc
A structure representing the superspeed endpoint companion
descriptor. This descriptor is documented in section 9.6.7 of
the USB 3.0 specification. All multiple-byte fields are represented in
host-endian format.
\ingroup libusb_dev
Masks for the bits of the
\ref libusb_ss_usb_device_capability_descriptor::bmAttributes "bmAttributes" field
field of the SuperSpeed USB Device Capability descriptor.
\ingroup libusb_desc
A structure representing the SuperSpeed USB Device Capability descriptor
This descriptor is documented in section 9.6.2.2 of the USB 3.0 specification.
All multiple-byte fields are represented in host-endian format.
\ingroup libusb_asyncio
The generic USB transfer structure. The user populates this structure and
then submits it in order to request a transfer. After the transfer has
completed, the library populates the transfer with the results and passes
it back to the user.
\ingroup libusb_dev
Masks for the bits of the
\ref libusb_usb_2_0_extension_descriptor::bmAttributes "bmAttributes" field
of the USB 2.0 Extension descriptor.
\ingroup libusb_desc
A structure representing the USB 2.0 Extension descriptor
This descriptor is documented in section 9.6.2.1 of the USB 3.0 specification.
All multiple-byte fields are represented in host-endian format.