io_getevents (2)

IO_GETEVENTS(2) Linux Programmer's Manual IO_GETEVENTS(2) NAME io_getevents - read asynchronous I/O events from the completion queue SYNOPSIS #include <linux/time.h> #include <libaio.h> int io_getevents(aio_context_t ctx_id, long min_nr, long nr, struct io_event *events, struct timespec *timeout); Link with -laio. DESCRIPTION io_getevents() attempts to read at least min_nr events and up to nr events from the completion queue of the AIO context specified by ctx_id. timeout specifies the amount of time to wait for events, where a NULL timeout waits until at least min_nr events have been seen. Note that timeout is relative and will be updated if not NULL and the opera- tion blocks. RETURN VALUE On success, io_getevents() returns the number of events read: 0 if no events are available or < min_nr if the timeout has elapsed; on fail- ure, it returns one of the errors listed under ERRORS. ERRORS EINVAL ctx_id is invalid. min_nr is out of range or nr is out of range. EFAULT Either events or timeout is an invalid pointer. ENOSYS io_getevents() is not implemented on this architecture. VERSIONS The asynchronous I/O system calls first appeared in Linux 2.5, August 2002. CONFORMING TO io_getevents() is Linux specific and should not be used in programs that are intended to be portable. SEE ALSO io_setup(2), io_submit(2), io_getevents(2), io_cancel(2), io_destroy(2) Linux 2003-02-21 IO_GETEVENTS(2)