openusb_wait, openusb_poll
openusb_wait, openusb_poll
-- Wait for I/O request completion, Poll completion status of I/O request num_reqs
Number of requests to wait/poll.
handles
Array of request handles to wait/poll.
handle
Completed request handle.
openusb_wait()
can be called to wait for completion on num_reqs
of request handles. If one request was completed, openusb_wait
will return its handle in handle
. Otherwise, openusb_wait
will block until one request gets completed.
openusb_poll()
is different from openusb_wait
. It
checks if any request in handles
has been completed. If there's one,
openusb_poll
will return this request's handle in handle
.
Otherwise, it returns immediately with handle
set to NULL. No block at all.
For both functions, caller should allocate an array of num_reqs
elements
for handles
and set every element to the request handles to be checked.
If application has set callback in request when submitting it in openusb_xfer_aio
, it should NOT call the above functions to wait/poll that request.
openusb_wait
(), openusb_poll
() returns 0 on success.
Otherwise, a openusb error is returned.
OPENUSB_SUCCESS No errors.
OPENUSB_BADARG handles
or handle
is not valid. Either they are NULL or some member of request is
invalid.
OPENUSB_UNKNOWN_DEVICE Can't find the device specified in request.
OPENUSB_PLATFORM_FAILURE Unspecified kernel/driver failure
OPENUSB_NO_RESOURCES Memory allocation failure
OPENUSB_IO_* USB host controller errors