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);
[Note] Note

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.79 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/.


  Copyright (C) 2003 Free Software Foundation, Inc.
This file is distributed according to the GNU General Public License.
See the file COPYING in the top level source directory for details.