The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

aio_error — retrieve errors status for an asynchronous I/O operation

SYNOPSIS

#include <aio.h>

int aio_error(const struct aiocb *
aiocbp);

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].

If the aiocb structure pointed to by aiocbp is not associated with an operation that has been scheduled, the results are undefined.

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.

If the aio_error() function fails, it shall return -1 and set errno to indicate the error.

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

None.

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

XBD <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.

Issue 7

Austin Group Interpretation 1003.1-2001 #045 is applied.

SD5-XSH-ERN-148 is applied.

The aio_error() function is moved from the Asynchronous Input and Output option to the Base.

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]