openusb_set_event_callback, openusb_coldplug_callbacks_done
openusb_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.