table of contents
- Tumbleweed 6.18-1.1
- Leap-16.0
- Leap-15.6
| io_getevents(2) | System Calls Manual | io_getevents(2) |
NAME¶
io_getevents - read asynchronous I/O events from the completion queue
LIBRARY¶
Standard C library (libc, -lc)
SYNOPSIS¶
#include <linux/aio_abi.h> /* Definition of *io_* types */ #include <sys/syscall.h> /* Definition of SYS_* constants */ #include <unistd.h>
int syscall(SYS_io_getevents, aio_context_t ctx_id,
long min_nr, long nr, struct io_event *events,
struct timespec *timeout);
DESCRIPTION¶
Note: you probably want to use the io_getevents(3) wrapper function provided by libaio; see VERSIONS.
The 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, and is specified as a relative timeout in a timespec(3) structure.
The specified time will be rounded up to the system clock granularity and is guaranteed not to expire early.
Specifying timeout as NULL means block indefinitely until at least min_nr events have been obtained.
RETURN VALUE¶
On success, io_getevents() returns the number of events read. This may be 0, or a value less than min_nr, if the timeout expired. It may also be a nonzero value less than min_nr, if the call was interrupted by a signal handler.
On error, -1 is returned, and errno is set to indicate the error.
ERRORS¶
VERSIONS¶
libaio provides a wrapper function with the same name, but different prototype and return value. You probably want to use that wrapper.
STANDARDS¶
Linux.
HISTORY¶
Linux 2.5.
SEE ALSO¶
io_cancel(2), io_destroy(2), io_setup(2), io_submit(2), io_getevents(3), timespec(3), aio(7), time(7)
| 2026-04-11 | Linux man-pages (unreleased) |