 |
Index for Section 3 |
|
 |
Alphabetical listing for A |
|
 |
Bottom of page |
|
aio_results_np(3)
NAME
aio_results_np - Returns results for completed asynchronous I/O operations
SYNOPSIS
#include <aio.h>
typedef struct aio_completion_data {
struct aiocb *aio_aiocb;
ssize_t aio_result;
int aio_error;
aio_completion_t;int aio_results_np(
aio_completion_t listchoice="opt">,
int nent,
const struct timespec *timeout,
int howmany);
LIBRARY
Asynchronous I/O Library (libaio, libaio_raw)
PARAMETERS
list
An array of pointers to asynchronous I/O completion data structures.
nent
The number of elements in the array. This number specifies the number
of completed asynchronous I/O operations that can be reported on. If
nent is 0 (zero), the function simply returns the number of aio
completions not yet reported on.
timeout
A pointer to a timespec structure. If timeout is NULL, the argument is
ignored. If howmany aio operations are not completed within the timeout
value, the function fails.
howmany
The number of aio operations that must be complete before the the call
returns.
DESCRIPTION
The aio_results_np function suspends the calling process until at least
howmany asynchronous I/O operations have completed, until a signal
interrupts the function, or until a timeout interval, if specified, has
passed. If at the time of the call howmany asynchronous I/O operations are
completed, the call returns the requested results without suspending the
calling process.
The list argument is an array of pointers to aio_completion_t data
structures. The nent argument indicates the number of elements in the
array. On return from a successful call, the function return value
specifies the number of valid entries returned in the array. For each
valid entry, three pieces of information are returned:
· The aio_aiocb field contains a pointer to a completed aiocb structure.
· The aio_result field contains the return value of the operation; this
value is equivalent to the result of a call to aio_return for the
aio_aiocb field.
· The aio_error field contains the errno value of the operation; this
value is equivalent to the result of a call to aio_error for the
aio_aiocb field.
Each valid completion structure represents a completed aio operation. The
function performs the equivalent of an aio_return on each aiocb on which it
reports. In other words, the aiocb pointers returned are ready for
immediate reuse by the application.
If nent is 0 (zero), the function immediately returns the number of aio
completions not yet reported on. This can be used to quickly poll for
completion.
RETURN VALUES
If the function returns successfully, the number of completed aio
operations reported on is returned. That is, the return value is the
number of valid entries in in the array. If the value returned is the same
as the nent argument, more aio operations may be complete and can be
reported on by another call to aio_results_np.
On an unsuccessful call, a value of -1 is returned and errno is set to
indicate that an error occurred.
ERRORS
The aio_results_np function fails under the following conditions:
[EINTR]
A signal interrupted the function.
[EINVAL]
An invalid time value was specified in timeout.
[EINVAL]
The nent parameter is negative.
[EINVAL]
The list paramenter is null.
[EINVAL]
The howmany parameter is greater than the nent parameter.
SEE ALSO
Functions: aio_group_completion_np(3), aio_read(3), aio_suspend(3),
aio_write(3), lio_listio(3)
Guide to Realtime Programming
 |
Index for Section 3 |
|
 |
Alphabetical listing for A |
|
 |
Top of page |
|