|IO_GETEVENTS(2)||Linux Programmer's Manual||IO_GETEVENTS(2)|
NAMEio_getevents - read asynchronous I/O events from the completion queue
#include <linux/aio_abi.h> /* Defines needed types */
#include <linux/time.h> /* Defines 'struct timespec' */
int io_getevents(aio_context_t ctx_id, long min_nr, long nr,
struct io_event *events, struct timespec *timeout);
Note: There is no glibc wrapper for this system call; see NOTES.
DESCRIPTIONThe io_getevents() system call 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. The timeout argument 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.
RETURN VALUEOn success, io_getevents() returns the number of events read: 0 if no events are available, or less than min_nr if the timeout has elapsed. For the failure return, see NOTES.
- Either events or timeout is an invalid pointer.
- ctx_id is invalid. min_nr is out of range or nr is out of range.
- Interrupted by a signal handler; see signal(7).
- io_getevents() is not implemented on this architecture.
VERSIONSThe asynchronous I/O system calls first appeared in Linux 2.5.
CONFORMING TOio_getevents() is Linux-specific and should not be used in programs that are intended to be portable.
NOTESGlibc does not provide a wrapper function for this system call. You could invoke it using syscall(2). But instead, you probably want to use the io_getevents() wrapper function provided by libaio.
BUGSAn invalid ctx_id may cause a segmentation fault instead of genenerating the error EINVAL.
SEE ALSOio_cancel(2), io_destroy(2), io_setup(2), io_submit(2), aio(7), time(7)
COLOPHONThis page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.