aio_read man page on SunOS

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

aio_read(3RT)		  Realtime Library Functions		 aio_read(3RT)

NAME
       aio_read - asynchronous read from a file

SYNOPSIS
       cc [ flag... ] file... -lrt [ library... ]
       #include <aio.h>

       int aio_read(struct aiocb *aiocbp);

DESCRIPTION
       The   aio_read()	  function   allows   the   calling  process  to  read
       aiocbp->aio_nbytes from the  file  associated  with  aiocbp->aio_fildes
       into  the  buffer  pointed  to  by  aiocbp->aio_buf.  The function call
       returns when the read request has been initiated or queued to the  file
       or  device  (even  when	the  data cannot be delivered immediately). If
       _POSIX_PRIORITIZED_IO is defined and prioritized I/O is	supported  for
       this  file,  then the asynchronous operation is submitted at a priority
       equal   to   the	  scheduling   priority	  of   the    process	 minus
       aiocbp->aio_reqprio.  The  aiocbp  value	 may be used as an argument to
       aio_error(3RT) and aio_return(3RT) in order to determine the error sta‐
       tus  and	 return	 status,  respectively,	 of the asynchronous operation
       while it is proceeding. If an error  condition  is  encountered	during
       queuing,	 the  function call returns without having initiated or queued
       the request. The requested operation takes place at the absolute	 posi‐
       tion  in	 the  file  as given by aio_offset, as if lseek(2) were called
       immediately prior to the operation with an offset equal	to  aio_offset
       and  a  whence equal to SEEK_SET. After a successful call to enqueue an
       asynchronous I/O operation, the value of the file offset for  the  file
       is unspecified.

       The aiocbp->aio_lio_opcode field is ignored by aio_read().

       The aiocbp argument points to an aiocb structure. If the buffer pointed
       to by aiocbp->aio_buf or the control block pointed to by aiocbp becomes
       an  illegal  address  prior  to	asynchronous  I/O completion, then the
       behavior is undefined.

       Simultaneous asynchronous operations  using  the	 same  aiocbp  produce
       undefined results.

       If _POSIX_SYNCHRONIZED_IO is defined and synchronized I/O is enabled on
       the file associated with aiocbp->aio_fildes, the behavior of this func‐
       tion is according to the definitions of synchronized I/O data integrity
       completion and synchronized I/O file integrity completion.

       For any system action that changes the process memory  space  while  an
       asynchronous I/O is outstanding to the address range being changed, the
       result of that action is undefined.

       For regular files, no data transfer will occur past the offset  maximum
       established    in   the	 open	file   description   associated	  with
       aiocbp->aio_fildes.

RETURN VALUES
       The aio_read() function returns 0 to the calling	 process  if  the  I/O
       operation  is  successfully  queued; otherwise, the function returns −1
       and sets errno to indicate the error.

ERRORS
       The aio_read() function will fail if:

       EAGAIN	       The requested asynchronous I/O operation was not queued
		       due to system resource limitations.

       ENOSYS	       The aio_read() function is not supported by the system.

       Each  of	 the following conditions may be detected synchronously at the
       time of the call to aio_read(), or asynchronously. If any of the condi‐
       tions below are detected synchronously, the aio_read() function returns
       -1 and sets errno to the corresponding value. If any of the  conditions
       below  are  detected asynchronously, the return status of the asynchro‐
       nous operation is set to −1, and the error status of  the  asynchronous
       operation will be set to the corresponding value.

       EBADF	       The  aiocbp->aio_fildes	argument  is  not a valid file
		       descriptor open for reading.

       EINVAL	       The file offset	value  implied	by  aiocbp->aio_offset
		       would  be  invalid,  aiocbp->aio_reqprio is not a valid
		       value, or aiocbp->aio_nbytes is an invalid value.

       In the case that the aio_read() successfully queues the	I/O  operation
       but  the operation is subsequently canceled or encounters an error, the
       return status of the asynchronous operation is one of the  values  nor‐
       mally  returned	by  the	 read(2) function call. In addition, the error
       status of the asynchronous operation will be set to one	of  the	 error
       statuses	 normally  set by the read() function call, or one of the fol‐
       lowing values:

       EBADF	       The aiocbp->aio_fildes argument is  not	a  valid  file
		       descriptor open for reading.

       ECANCELED       The requested I/O was canceled before the I/O completed
		       due to an explicit aio_cancel(3RT) request.

       EINVAL	       The file offset	value  implied	by  aiocbp->aio_offset
		       would be invalid.

       The   following	condition  may	be  detected  synchronously  or	 asyn‐
       chronously:

       EOVERFLOW       The file	 is  a	regular	 file,	aiobcp->aio_nbytes  is
		       greater	 than	0   and	  the	starting   offset   in
		       aiobcp->aio_offset is before the end-of-file and is  at
		       or  beyond the offset maximum in the open file descrip‐
		       tion associated with aiocbp->aio_fildes.

USAGE
       For portability, the application should set aiocb->aio_reqprio to 0.

       The aio_read() 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	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       close(2),  exec(2),  exit(2),  fork(2),	lseek(2),  read(2),  write(2),
       aio.h(3HEAD),   siginfo.h(3HEAD),   signal.h(3HEAD),   aio_cancel(3RT),
       aio_return(3RT), lio_listio(3RT), 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.10			  28 Jun 2002			 aio_read(3RT)
[top]

List of man pages available for SunOS

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