openusb_set_event_callback, openusb_coldplug_callbacks_doneopenusb_set_event_callback, openusb_coldplug_callbacks_done -- Set event callbacks or Waiting for coldplug events completion handle - An openusb instance handle, obtained in openusb_init.
type - Event type.
callback - Pointer to callback function.
arg - Arguments passed to callback
Application can call openusb_set_event_callback() to register with
openusb for events and corresponding callbacks. When these events occur, the callback
will be called with arg, if any, as the parameter.
The supported events type:
typedef enum openusb_event {
USB_ATTACH = 0, /* attachment of device */
USB_REMOVE, /* detachment of device */
USB_SUSPEND, /* device suspend */
USB_RESUME, /* device resume */
USB_HC_ATTACH, /* host controller attachment */
USB_HC_REMOVE, /* host controller detachment */
USB_COLDPLUG_COMPLETED, /* first scan of device completed */
} openusb_event_t;
|
openusb_event_callback_t has this prototype:
typedef void (*openusb_event_callback_t)(openusb_handle_t handle,
openusb_devid_t devid, openusb_event_t event, void *arg);
|
Application can call openusb_coldplug_callbacks_done() to block execution until end of coldplug events.
openusb_set_event_callback returns 0 if succeed. Otherwise, a openusb
error will be returned.
OPENUSB_SUCCESS - Callback was successfully set.
OPENUSB_BADARG - Invalid arguments, either invalid type or callback.
OPENUSB_INVALID_HANDLE - Invalid handle.
OPENUSB_NO_RESOURCES - Memory allocation failure.