\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.
\ingroup libusb_hotplug
Hotplug callback function type. When requesting hotplug event notifications,
you pass a pointer to a callback function of this type.
\ingroup libusb_lib
Callback function for handling log messages.
\param ctx the context which is related to the log message, or NULL if it
is a global log message
\param level the log level, see \ref libusb_log_level for a description
\param str the log message
\see libusb_set_log_cb()
\ingroup libusb_poll
Callback function, invoked when a new file descriptor should be added
to the set of file descriptors monitored for events.
\param fd the new file descriptor
\param events events to monitor for, see \ref libusb_pollfd for a
description
\param user_data User data pointer specified in
libusb_set_pollfd_notifiers() call
\see libusb_set_pollfd_notifiers()
\ingroup libusb_poll
Callback function, invoked when a file descriptor should be removed from
the set of file descriptors being monitored for events. After returning
from this callback, do not use that file descriptor again.
\param fd the file descriptor to stop monitoring
\param user_data User data pointer specified in
libusb_set_pollfd_notifiers() call
\see libusb_set_pollfd_notifiers()