aio_read man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

aio_read(3)							   aio_read(3)

       aio_read - Queues a single asynchronous read request

       #include <aio.h>

       int aio_read (
	    struct aiocb *aiocbp );

       Asynchronous I/O Library (libaio, libaio_raw)

       A pointer to an aiocb structure.

       The aio_read function allows the calling process to asynchronously read
       aiocbp->aio_nbytes from the  file  associated  with  aiocbp->aio_fildes
       into the buffer pointed to by aiocbp->aio_buf.

       The  aio_read  function issues a read request and returns even when the
       data cannot be delivered immediately. If the request cannot  be	initi‐
       ated,  the  aio_read function returns with an error status. If an error
       condition occurs during queuing, the function call returns without ini‐
       tiating	the queue request. The aiocbp value may be used as an argument
       to the aio_error and aio_return functions to  determine	the  error  or
       return status of the asynchronous read operation.

       The  requested  operation  takes	 place at the absolute position in the
       file as given by aio_offset, as	if  lseek()  were  called  immediately
       prior  to the operation with an offset equal to aio_offset and a whence
       equal to SEEK_SET.

       The aiocbp argument points to an asynchronous control block  structure,
       aiocb,  used  in	 the  asynchronous I/O interfaces. The aiocb structure
       contains asynchronous operation information, such as  the  file	offset
       for  the read operation. The aiocb structure has the following members:
       aio_fildes;    aio_offset;    *aio_buf;	  aio_nbytes;	  aio_reqprio;
       aio_sigevent; aio_lio_opcode;

       The  aio_fildes member is the file descriptor on which the asynchronous
       operation is to be performed. After any asynchronous I/O operation, the
       aio_offset  member  is  undefined  and must be set explicitly for every
       asynchronous I/O request.

       The aio_nbytes and aio_buf members are the same as the  nbyte  and  buf
       arguments defined by POSIX.1 read and write functions.

       The  aio_sigevent member of the aiocb structure defines the signal gen‐
       erated when the I/O operation is complete. If aio_sigevent.sigev_notify
       equals  SIGEV_SIGNAL and aio_sigevent.sigev_signo is non-zero, a signal
       is generated when the asynchronous read operation has completed.

       The aio_lio_opcode and aio_reqprio members are ignored by aio_read().

       Pending asynchronous I/O operations are handled as follows:  On	close,
       _exit,  or exec, any I/O that was directed to a file system file, a tty
       device, or a streams device is canceled. Any I/O that was  directed  to
       any  raw	 character  device, excluding terminal and streams devices, is
       not canceled.  On fork, no asynchronous I/O is inherited.

       On an unsuccessful call, a value of -1 is returned and errno is set  to
       indicate the type of error that occurred.

       The  aio_read  function	fails  under  the  following  conditions:  The
       requested asynchronous I/O operation  was  not  queued  due  to	system
       resource	 limitations.	The aiocbp->aio_fildes argument is not a valid
       file descriptor open for reading.  The file  offset  value  implied  by
       aiocbp->aio_offset would be invalid.

       On a successful call, a value of 0 (zero) is returned and the I/O oper‐
       ation is queued. After successful queuing of aio_read, return and error
       values are the same as for a call to the read function. One of the fol‐
       lowing additional errors may  occur:  The  operation  was  canceled  by
       aio_cancel.   The  offset  in aio_offset is invalid for the file speci‐

       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_results_np(3),   aio_return(3),    aio_suspend(3),	 aio_write(3),

       Guide to Realtime Programming


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net