libusb library

Classes

Libusb
Bindings to libusb.h.
libusb_bos_descriptor
\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.
libusb_bos_dev_capability_descriptor
\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.
libusb_bos_type
\ingroup libusb_dev USB capability types
libusb_capability
\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().
libusb_class_code
\ingroup libusb_desc Device and/or Interface Class codes
libusb_config_descriptor
\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.
libusb_container_id_descriptor
\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.
libusb_context
libusb_control_setup
\ingroup libusb_asyncio Setup packet for control transfers.
libusb_descriptor_type
\ingroup libusb_desc Descriptor types as defined by the USB specification.
libusb_device
libusb_device_descriptor
\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.
libusb_device_handle
libusb_endpoint_descriptor
\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.
libusb_endpoint_direction
\ingroup libusb_desc Endpoint direction. Values for bit 7 of the \ref libusb_endpoint_descriptor::bEndpointAddress "endpoint address" scheme.
libusb_error
\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.
libusb_hotplug_event
\ingroup libusb_hotplug
libusb_hotplug_flag
\ingroup libusb_hotplug
libusb_interface
\ingroup libusb_desc A collection of alternate settings for a particular USB interface.
libusb_interface_descriptor
\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.
libusb_iso_packet_descriptor
\ingroup libusb_asyncio Isochronous packet descriptor.
libusb_iso_sync_type
\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.
libusb_iso_usage_type
\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.
libusb_log_cb_mode
\ingroup libusb_lib Log callback mode. \see libusb_set_log_cb()
libusb_log_level
\ingroup libusb_lib Log message levels.
libusb_option
\ingroup libusb_lib Available option values for libusb_set_option().
libusb_pollfd
\ingroup libusb_poll File descriptor for polling
libusb_request_recipient
\ingroup libusb_misc Recipient bits of the \ref libusb_control_setup::bmRequestType "bmRequestType" field in control transfers. Values 4 through 31 are reserved.
libusb_request_type
\ingroup libusb_misc Request type bits of the \ref libusb_control_setup::bmRequestType "bmRequestType" field in control transfers.
libusb_speed
\ingroup libusb_dev Speed codes. Indicates the speed at which the device is operating.
libusb_ss_endpoint_companion_descriptor
\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.
libusb_ss_usb_device_capability_attributes
\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.
libusb_ss_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.
libusb_standard_request
\ingroup libusb_misc Standard requests, as defined in table 9-5 of the USB 3.0 specifications
libusb_supported_speed
\ingroup libusb_dev Supported speeds (wSpeedSupported) bitfield. Indicates what speeds the device supports.
libusb_transfer
\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.
libusb_transfer_flags
\ingroup libusb_asyncio libusb_transfer.flags values
libusb_transfer_status
\ingroup libusb_asyncio Transfer status codes
libusb_transfer_type
\ingroup libusb_desc Endpoint transfer type. Values for bits 0:1 of the \ref libusb_endpoint_descriptor::bmAttributes "endpoint attributes" field.
libusb_usb_2_0_extension_attributes
\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.
libusb_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.
libusb_version
\ingroup libusb_lib Structure providing the version of the libusb runtime
Ssize
pkg_ffi.Long on Linux pkg_ffi.Long on macOS pkg_ffi.LongLong on Windows
Susecond
pkg_ffi.Long on Linux pkg_ffi.Int on macOS pkg_ffi.Long on Windows
Timeval

Typedefs

libusb_hotplug_callback_fn = Pointer<NativeFunction<dynamic Function(Pointer<libusb_context>, Pointer<libusb_device>, Int32, Pointer<Void>)>>
\ingroup libusb_hotplug Hotplug callback function type. When requesting hotplug event notifications, you pass a pointer to a callback function of this type.
libusb_hotplug_callback_handle = dynamic
\ingroup libusb_hotplug Callback handle.
libusb_log_cb = Pointer<NativeFunction<Void Function(Pointer<libusb_context>, Int32, Pointer)>>
\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()
libusb_pollfd_added_cb = Pointer<NativeFunction<Void Function(dynamic, dynamic, Pointer<Void>)>>
\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()
libusb_pollfd_removed_cb = Pointer<NativeFunction<Void Function(dynamic, Pointer<Void>)>>
\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()