Provided by: manpages-dev_2.77-1_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  <  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 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_cancel(2), io_destroy(2)

COLOPHON

       This  page  is  part of release 2.77 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/.