Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

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

RETURN VALUE

       On  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.

ERRORS

       EFAULT Either events or timeout is an invalid pointer.

       EINVAL ctx_id is invalid.  min_nr is out of range or nr is out of range.

       EINTR  Interrupted by a signal handler; see signal(7).

       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.

NOTES

       Glibc does not provide a wrapper function for this system call.

       The wrapper provided in libaio for io_getevents() does not  follow  the  usual  C  library
       conventions for indicating error: on error it returns a negated error number (the negative
       of one of the values listed in ERRORS).  If the system call  is  invoked  via  syscall(2),
       then  the  return  value  follows  the usual conventions for indicating an error: -1, with
       errno set to a (positive) value that indicates the error.

SEE ALSO

       io_cancel(2), io_destroy(2), io_setup(2), io_submit(2), aio(7), time(7)

COLOPHON

       This page is part of release 3.35 of the Linux man-pages project.  A  description  of  the
       project,  and information about reporting bugs, can be found at http://man7.org/linux/man-
       pages/.