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.
A newer edition of this document exists here

NAME

aio_error - retrieve errors status for an asynchronous I/O operation (REALTIME)

SYNOPSIS

[AIO] [Option Start] #include <aio.h>

int aio_error(const struct aiocb *
aiocbp); [Option End]

DESCRIPTION

The aio_error() function shall return the error status associated with the aiocb structure referenced by the aiocbp argument. The error status for an asynchronous I/O operation is the errno value that would be set by the corresponding read(), write(), [SIO] [Option Start] fdatasync(), [Option End] or fsync() operation. If the operation has not yet completed, then the error status shall be equal to [EINPROGRESS].

RETURN VALUE

If the asynchronous I/O operation has completed successfully, then 0 shall be returned. If the asynchronous operation has completed unsuccessfully, then the error status, as described for read(), write(), [SIO] [Option Start] fdatasync(), [Option End] and fsync(), shall be returned. If the asynchronous I/O operation has not yet completed, then [EINPROGRESS] shall be returned.

ERRORS

The aio_error() 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_error() 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_fsync(), aio_read(), aio_return(), 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.

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 ]