Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

aio_return(3) [osf1 man page]

aio_return(3)						     Library Functions Manual						     aio_return(3)

NAME
aio_return - Returns the status of an asynchronous I/O operation (P1003.1b) LIBRARY
Asynchronous I/O Library (libaio, libaio_raw) SYNOPSIS
#include <aio.h> ssize_t aio_return (struct aiocb *aiocbp); PARAMETERS
*aiocbp A pointer to the address of the aiocb structure. DESCRIPTION
The aio_return function returns the number of bytes read or written by the corresponding asynchronous I/O function. The return status for an asynchronous I/O operation is the value that would be returned by the corresponding synchronous read, write, or fsync function call. The aio_error function returns the error status for an asynchronous I/O operation. The aio_error function returns the error status associated with the specified aiocbp. If the aio_error function returns anything but EIN- PROGRESS, the asynchronous I/O operation is complete. When the operation is complete, a call to the aio_return function shows if the opera- tion is successful. When you call the aio_return function, the aiocb structure is marked for reuse, thus destroying your ability to reuse the structure for that particular asynchronous I/O request. To avoid losing data, use the aio_error function to poll for completion before you call the aio_return function. Then use the aio_return function to retrieve the number of bytes read or written during the asynchronous I/O opera- tion. If you do not call the aio_return function, the structure is not marked for reuse. In this situation, the number of asynchronous I/O opera- tions available for use in your application is reduced by one for every completed asynchronous I/O operation that does not return data through a call to the aio_return function. RETURN VALUES
If the asynchronous I/O operation has completed, then the return value is any of the return values normally associated with a synchronous read, write, or fsync function (the number of bytes transferred or -1). If the asynchronous I/O operation has not yet completed, the results of aio_return are undefined. On an unsuccessful call, the value of -1 is returned and errno is set to indicate the error. ERRORS
The aio_return function fails under the following conditions: [EINVAL] The aiocbp argument does not refer to an asynchronous operation whose return status has not yet been retrieved. RELATED INFORMATION
Functions: close(2), exec(2), _exit(2), fork(2), lseek(2), read(2), write(2), aio_cancel(3), aio_error(3), aio_group_completion_np(3), aio_read(3), aio_results_np(3), aio_suspend(3), aio_write(3), lio_listio(3) Guide to Realtime Programming delim off aio_return(3)

Check Out this Related Man Page

AIO_RETURN(3)						     Linux Programmer's Manual						     AIO_RETURN(3)

NAME
aio_return - get return status of asynchronous I/O operation SYNOPSIS
#include <aio.h> ssize_t aio_return(struct aiocb *aiocbp); Link with -lrt. DESCRIPTION
The aio_return() function returns the final return status for the asynchronous I/O request with control block pointed to by aiocbp. (See aio(7) for a description of the aiocb structure.) This function should be called only once for any given request, after aio_error(3) returns something other than EINPROGRESS. RETURN VALUE
If the asynchronous I/O operation has completed, this function returns the value that would have been returned in case of a synchronous read(2), write(2), fsync(2) or fdatasync(2), call. On error, -1 is returned, and errno is set appropriately. If the asynchronous I/O operation has not yet completed, the return value and effect of aio_return() are undefined. ERRORS
EINVAL aiocbp does not point at a control block for an asynchronous I/O request of which the return status has not been retrieved yet. ENOSYS aio_return() is not implemented. VERSIONS
The aio_return() function is available since glibc 2.1. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +-------------+---------------+---------+ |Interface | Attribute | Value | +-------------+---------------+---------+ |aio_return() | Thread safety | MT-Safe | +-------------+---------------+---------+ CONFORMING TO
POSIX.1-2001, POSIX.1-2008. EXAMPLE
See aio(7). SEE ALSO
aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. 2017-09-15 AIO_RETURN(3)
Man Page