Man Linux: Main Page and Category List

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
       Interfaces 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 Technology
       --  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 .