The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> aio_return - retrieve return status of an asynchronous I/O operation (REALTIME)

#### SYNOPSIS

> ``[AIO] #include <aio.h>
> ssize_t aio_return(struct aiocb *`aiocbp`);``
> `
> `

#### DESCRIPTION

> The aio_return() function shall return 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(), write(), or fsync() 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(), 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 VALUE

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

#### ERRORS

> The aio_return() function may fail if:

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

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> The aio_return() function is part of the Asynchronous Input and Output option and need not be available on all implementations.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> aio_cancel(), aio_error(), aio_fsync(), aio_read(), aio_write(), close(), exec(), exit(), fork(), lio_listio(), lseek(), read(), the Base Definitions volume of IEEE Std 1003.1-2001, <aio.h>

#### CHANGE HISTORY

> First released in Issue 5. Included for alignment with the POSIX Realtime Extension.

#### Issue 6

> The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Asynchronous Input and Output option.

> The APPLICATION USAGE section is added.

> The [EINVAL] error condition is made optional. This is for consistency with the DESCRIPTION.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]