| ./"/* io_getevents: |
| ./" * Attempts to read at least min_nr events and up to nr events from |
| ./" * the completion queue for the aio_context specified by ctx_id. May |
| ./" * fail with -EINVAL if ctx_id is invalid, if min_nr is out of range, |
| ./" * if nr is out of range, if when is out of range. May fail with |
| ./" * -EFAULT if any of the memory specified to is invalid. May return |
| ./" * 0 or < min_nr if no events are available and the timeout specified |
| ./" * by when has elapsed, where when == NULL specifies an infinite |
| ./" * timeout. Note that the timeout pointed to by when is relative and |
| ./" * will be updated if not NULL and the operation blocks. Will fail |
| ./" * with -ENOSYS if not implemented. |
| ./" */ |
| ./"asmlinkage long sys_io_getevents(io_context_t ctx_id, |
| ./" long min_nr, |
| ./" long nr, |
| ./" struct io_event *events, |
| ./" struct timespec *timeout) |
| ./" |
| .TH io_getevents 2 2002-09-03 "Linux 2.4" "Linux AIO" |
| .SH NAME |
| io_getevents \- Read resulting events from io requests |
| .SH SYNOPSIS |
| .nf |
| .B #include <errno.h> |
| .sp |
| .br |
| .B #include <libaio.h> |
| .br |
| .sp |
| struct iocb { |
| void *data; |
| unsigned key; |
| short aio_lio_opcode; |
| short aio_reqprio; |
| int aio_fildes; |
| }; |
| .sp |
| struct io_event { |
| unsigned PADDED(data, __pad1); |
| unsigned PADDED(obj, __pad2); |
| unsigned PADDED(res, __pad3); |
| unsigned PADDED(res2, __pad4); |
| }; |
| .sp |
| .BI "int io_getevents(io_context_t " ctx ", long " nr ", struct io_event *" events "[], struct timespec *" timeout ");" |
| |
| .fi |
| .SH DESCRIPTION |
| Attempts to read up to nr events from |
| the completion queue for the aio_context specified by ctx. |
| .SH "RETURN VALUES" |
| May return |
| 0 if no events are available and the timeout specified |
| by when has elapsed, where when == NULL specifies an infinite |
| timeout. Note that the timeout pointed to by when is relative and |
| will be updated if not NULL and the operation blocks. Will fail |
| with ENOSYS if not implemented. |
| .SH ERRORS |
| .TP |
| .B EINVAL |
| if ctx_id is invalid, if min_nr is out of range, |
| if nr is out of range, if when is out of range. |
| .TP |
| .B EFAULT |
| if any of the memory specified to is invalid. |
| .SH "SEE ALSO" |
| .BR io(3), |
| .BR io_cancel(3), |
| .BR io_fsync(3), |
| .BR io_prep_fsync(3), |
| .BR io_prep_pread(3), |
| .BR io_prep_pwrite(3), |
| .BR io_queue_init(3), |
| .BR io_queue_release(3), |
| .BR io_queue_run(3), |
| .BR io_queue_wait(3), |
| .BR io_set_callback(3), |
| .BR io_submit(3), |
| .BR errno(3) |