Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

close(2)

exec(2)

_exit(2)

fork(2)

lseek(2)

read(2)

write(2)

aio_cancel(3)

aio_error(3)

aio_read(3)

aio_write(3)

lio_listio(3)

aio_return(3)  —  Subroutines

NAME

aio_return − Return the status of an asynchronous I/O operation (P1003.1b)

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 EINPROGRESS, the asynchronous I/O operation is complete. Once the operation is complete, a call to the aio_return function will show if the operation is successful. 

Once 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 operation. 

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 operations 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_read(3), aio_write(3), lio_listio(3)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026