Provided by: openmpi-doc_1.6.5-8_all bug

NAME

       MPI_File_iwrite_at  -  Writes  a  file  at  an  explicitly  specified offset (nonblocking,
       noncollective).

SYNTAX

       C Syntax
           #include <mpi.h>
           int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset,
                  void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Fortran Syntax (see FORTRAN 77 NOTES)

           INCLUDE 'mpif.h'
           MPI_FILE_IWRITE_AT(FH, OFFSET, BUF, COUNT, DATATYPE, REQUEST, IERROR)
                 <type> BUF(*)
                 INTEGER   FH, COUNT, DATATYPE, REQUEST, IERROR
                 INTEGER(KIND=MPI_OFFSET_KIND) OFFSET

C++ Syntax

       #include <mpi.h>
       MPI::Request MPI::File::Iwrite_at(MPI::Offset offset, const void* buf,
            int count, const MPI::Datatype& datatype)

INPUT/OUTPUT PARAMETER

       fh        File handle (handle).

INPUT PARAMETERS

       offset    File offset (integer).

       buf       Initial address of buffer (choice).

       count     Number of elements in buffer (integer).

       datatype  Data type of each buffer element (handle).

OUTPUT PARAMETERS

       request   Request object (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_File_iwrite_at is a nonblocking version of MPI_File_write_at.  It  attempts  to  write
       into  the  file  associated  with fh (at the offset position) a total number of count data
       items having datatype type from the user's buffer buf.   The  offset  is  in  etype  units
       relative  to the current view. That is, holes are not counted when locating an offset. The
       data  is  written  into  those  parts  of  the  file  specified  by  the   current   view.
       MPI_File_iwrite_at stores the number of datatype elements actually written in status.  All
       other fields of status are undefined. The request structure can be passed to  MPI_Wait  or
       MPI_Test, which will return a status with the number of bytes actually accessed.

       It  is  erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the
       file was open.

FORTRAN 77 NOTES

       The MPI standard prescribes portable Fortran syntax  for  the  OFFSET  argument  only  for
       Fortran 90.  FORTRAN 77 users may use the non-portable syntax

            INTEGER*MPI_OFFSET_KIND OFFSET

       where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared
       integer in bytes.

ERRORS

       Almost all MPI routines return an error value; C routines as the value of the function and
       Fortran  routines in the last argument. C++ functions do not return errors. If the default
       error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then  on  error  the  C++  exception
       mechanism will be used to throw an MPI:Exception object.

       Before  the  error value is returned, the current MPI error handler is called. For MPI I/O
       function errors, the default error handler is set to MPI_ERRORS_RETURN. The error  handler
       may    be   changed   with   MPI_File_set_errhandler;   the   predefined   error   handler
       MPI_ERRORS_ARE_FATAL may be used to  make  I/O  errors  fatal.  Note  that  MPI  does  not
       guarantee that an MPI program can continue past an error.