This page details how to use the libusb hotplug interface.
More...
Detailed Description
This page details how to use the libusb hotplug interface.
Typedef Documentation
Hotplug callback function type.
When requesting hotplug support, you pass a pointer to a callback function of this type. This callback may be called by an internal event thread and as such should do minimal processing before returning. libusb will call this function later, when a matching device has been connected. See Device hotplug event notification for more information.
- Parameters:
-
libusb_context | context of this notification |
device | libusb_device this event occurred on |
event | event that occurred |
user_data | user data provided when this callback was registered |
- Returns:
- bool whether this callback is finished processing events. returning 1 will cause this callback to be deregistered
Enumeration Type Documentation
Flags for hotplug events.
- Enumerator:
LIBUSB_HOTPLUG_ENUMERATE |
Arm the callback and fire it for all matching attached devices.
|
Hotplug events.
- Enumerator:
LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED |
A device has been plugged in and is ready to use.
|
LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT |
A device has left and is no longer available.
It is the user's responsibility to call libusb_close on any handle associated with a disconnected device. It is safe to call libusb_get_device_descriptor on a device that has left
|
Wildcard matching for hotplug events.
- Enumerator:
LIBUSB_HOTPLUG_CLASS_ANY |
Match any device class.
|
LIBUSB_HOTPLUG_VENDORID_ANY |
Match any vendor id.
|
LIBUSB_HOTPLUG_PRODUCTID_ANY |
Match any product id.
|
Function Documentation
Register a hotplug callback function.
- Parameters:
-
[in] | ctx | context to register this callback with |
[in] | events | the events that will trigger this callback |
[in] | flags | hotplug callback flags (described above) |
[in] | vendor_id | the vendor id to match or LIBUSB_HOTPLUG_PRODUCTID_ANY |
[in] | product_id | the product id to match or LIBUSB_HOTPLUG_PRODUCTID_ANY |
[in] | dev_class | the device class to match or LIBUSB_HOTPLUG_CLASS_ANY |
[in] | cb_fn | the function to be invoked on a matching event/device |
[in] | user_data | user data to pass to the callback function |
[out] | handle | pointer to store the handle of the allocated callback (can be NULL) |
- Returns:
- LIBUSB_SUCCESS on success LIBUSB_ERROR code on failure
Deregisters a hotplug callback.
Do not call this function from within a callback function. This will result in deadlock.
- Parameters:
-
[in] | ctx | context this callback is registered with |
[in] | handle | the handle of the callback to deregister |