io_getevents

NAME

io_getevents - read asynchronous I/O events from the completion queue

SYNOPSIS

#include <linux/time.h>
#include <libaio.h>
 I int io_getevents(aio_context_t  ctx_id , long  min_nr , long  nr ,
I                  struct io_event * events \
", struct timespec *" timeout );
 Link with -laio.

DESCRIPTION

R 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 operation blocks.

RETURN VALUE

On success, R io_getevents () returns the number of events read: 0 if no events are available or < min_nr if the timeout has elapsed; on failure, 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
R 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

R io_getevents () is Linux specific and should not be used in programs that are intended to be portable.

SEE ALSO