aio.h

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
<aio.h>(P)							   <aio.h>(P)



NAME
       aio.h - asynchronous input and output (REALTIME)

SYNOPSIS
       #include <aio.h>

DESCRIPTION
       The  <aio.h>  header  shall  define  the	 aiocb	structure which shall
       include at least the following members:


	      int	      aio_fildes     File descriptor.
	      off_t	      aio_offset     File offset.
	      volatile void  *aio_buf	     Location of buffer.
	      size_t	      aio_nbytes     Length of transfer.
	      int	      aio_reqprio    Request priority offset.
	      struct sigevent aio_sigevent   Signal number and value.
	      int	      aio_lio_opcode Operation to be performed.

       This header shall also include the following constants:

       AIO_ALLDONE
	      A return value indicating that none of the requested operations
	      could be canceled since they are already complete.

       AIO_CANCELED
	      A	 return	 value	indicating that all requested operations have
	      been canceled.

       AIO_NOTCANCELED

	      A return value indicating that some of the requested operations
	      could not be canceled since they are in progress.

       LIO_NOP
	      A	 lio_listio()  element	operation  option  indicating that no
	      transfer is requested.

       LIO_NOWAIT
	      A lio_listio() synchronization operation	indicating  that  the
	      calling  thread is to continue execution while the lio_listio()
	      operation is being performed, and no notification is given when
	      the operation is complete.

       LIO_READ
	      A lio_listio() element operation option requesting a read.

       LIO_WAIT
	      A	 lio_listio()  synchronization	operation indicating that the
	      calling thread is to suspend until the  lio_listio()  operation
	      is complete.

       LIO_WRITE
	      A lio_listio() element operation option requesting a write.


       The  following  shall be declared as functions and may also be defined
       as macros. Function prototypes shall be provided.


	      int      aio_cancel(int, struct aiocb *);
	      int      aio_error(const struct aiocb *);
	      int      aio_fsync(int, struct aiocb *);
	      int      aio_read(struct aiocb *);
	      ssize_t  aio_return(struct aiocb *);
	      int      aio_suspend(const struct aiocb *const[], int,
			   const struct timespec *);
	      int      aio_write(struct aiocb *);
	      int      lio_listio(int, struct aiocb *restrict const[restrict], int,
			   struct sigevent *restrict);

       Inclusion of the <aio.h> header may make visible	 symbols  defined  in
       the headers <fcntl.h>, <signal.h>, <sys/types.h>, and <time.h>.

       The following sections are informative.

APPLICATION USAGE
       None.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       <fcntl.h>  , <signal.h> , <sys/types.h> , <time.h> , the System Inter-
       faces  volume  of  IEEE Std 1003.1-2001,	 fsync(),  lseek(),   read(),
       write()

COPYRIGHT
       Portions	 of this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information  Technol-
       ogy  --	Portable  Operating  System Interface (POSIX), The Open Group
       Base Specifications Issue 6, Copyright (C) 2001-2003 by the  Institute
       of  Electrical  and  Electronics Engineers, Inc and The Open Group. In
       the event of any discrepancy between this  version  and	the  original
       IEEE and The Open Group Standard, the original IEEE and The Open Group
       Standard is  the	 referee  document.  The  original  Standard  can  be
       obtained online at http://www.opengroup.org/unix/online.html .



POSIX				     2003			   <aio.h>(P)