aio_write


SYNOPSIS
       #include <aio.h>

       int aio_write(struct aiocb *aiocbp);

       Link with -lrt.

DESCRIPTION
       The  aio_write()  function requests an asynchronous "n = write(fd, buf,
       count)"   with   fd,   buf,   count   given   by    aiocbp->aio_fildes,
       aiocbp->aio_buf, aiocbp->aio_nbytes, respectively.  The return status n
       can be retrieved upon completion using aio_return(3).

       If O_APPEND is not set, the data is written starting  at  the  absolute
       file  offset  aiocbp->aio_offset,  regardless of the current file posi-
       tion.  If O_APPEND is set, the data is written at the end of the  file.
       After  this request, the value of the current file position is unspeci-
       fied.

       The "asynchronous" means that this call returns as soon as the  request
       has  been  enqueued;  the  write may or may not have completed when the
       call returns.  One tests for completion using aio_error(3).

       If _POSIX_PRIORITIZED_IO is defined, and this file  supports  it,  then
       the  asynchronous operation is submitted at a priority equal to that of
       the calling process minus aiocbp->aio_reqprio.

       The field aiocbp->aio_lio_opcode is ignored.

       No data is written to a regular file beyond its maximum offset.

RETURN VALUE
       On success, 0 is returned.  On error the request is not enqueued, -1 is
       returned,  and  errno  is  set  appropriately.   If  an  error is first
       detected later, it will be reported via aio_return(3)  (returns  status
       -1)  and  aio_error(3)  (error status whatever one would have gotten in
       errno, such as EBADF).

ERRORS
       EAGAIN Out of resources.

       EBADF  aio_fildes is not a valid file descriptor open for writing.

       EFBIG  The file is a regular file, we want to write at least one  byte,
              but the starting position is at or beyond the maximum offset for
              this file.

       EINVAL One or more of aio_offset, aio_reqprio, aio_nbytes are invalid.

       ENOSYS This function is not supported.

CONFORMING TO
       POSIX.1-2001.

COLOPHON
       This  page  is  part of release 3.23 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



                                  2003-11-14                      AIO_WRITE(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2013 Hurricane Electric. All Rights Reserved.