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(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 sta- tus 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(5). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ |ATTRIBUTE TYPE |ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |MT-Level |Async-Signal-Safe | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ SEE ALSO
close(2), exec(2), exit(2), fork(2), lseek(2), read(2), write(2), fsync(3C), aio.h(3HEAD), signal.h(3HEAD), aio_cancel(3C), aio_fsync(3C), aio_read(3C), lio_listio(3C), attributes(5), lf64(5), standards(5) 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. SunOS 5.11 5 Feb 2008 aio_return(3C)
Man Page