AIO_RETURN(3C) Standard C Library Functions AIO_RETURN(3C)


NAME


aio_return - retrieve return status of an asynchronous I/O operation

SYNOPSIS


#include <aio.h>

ssize_t aio_return(struct aiocb *aiocbp);


DESCRIPTION


The aio_return() function returns the return status associated with the
aiocb structure referenced by the aiocbp argument. The return status for
an asynchronous I/O operation is the value that would be returned by the
corresponding read(2), write(2), or fsync(3C) function call. If the error
status for the operation is equal to EINPROGRESS, then the return status
for the operation is undefined. The aio_return() function may be called
exactly once to retrieve the return status of a given asynchronous
operation; thereafter, if the same aiocb structure is used in a call to
aio_return() or aio_error(3C), an error may be returned. When the aiocb
structure referred to by aiocbp is used to submit another asynchronous
operation, then aio_return() may be successfully used to retrieve the
return status of that operation.

RETURN VALUES


If the asynchronous I/O operation has completed, then the return status,
as described for read(2), write(2), and fsync(3C), is returned. If the
asynchronous I/O operation has not yet completed, the results of
aio_return() are undefined.

ERRORS


The aio_return() function will fail if:

EINVAL
The aiocbp argument does not refer to an asynchronous operation
whose return status has not yet been retrieved.


ENOSYS
The aio_return() function is not supported by the system.


USAGE


The aio_return() function has a transitional interface for 64-bit file
offsets. See lf64(7).

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-------------------+
|Interface Stability | Committed |
+--------------------+-------------------+
|MT-Level | Async-Signal-Safe |
+--------------------+-------------------+
|Standard | See standards(7). |
+--------------------+-------------------+

SEE ALSO


close(2), exec(2), exit(2), fork(2), lseek(2), read(2), write(2),
aio_cancel(3C), aio_fsync(3C), aio_read(3C), fsync(3C), lio_listio(3C),
aio.h(3HEAD), signal.h(3HEAD), attributes(7), lf64(7), standards(7)

NOTES


Solaris 2.6 was the first release to support the Asynchronous Input and
Output option. Prior to this release, this function always returned -1
and set errno to ENOSYS.


illumos February 5, 2008 AIO_RETURN(3C)