Provided by: openmpi-doc_2.1.1-8_all bug

NAME

       MPI_File_get_type_extent - Returns the extent of the data type in a file.

SYNTAX

C Syntax

       #include  <mpi.h>  int  MPI_File_get_type_extent(MPI_File  fh, MPI_Datatype      datatype,
       MPI_Aint *extent)

Fortran Syntax (see FORTRAN 77 NOTES)

       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_FILE_GET_TYPE_EXTENT(FH, DATATYPE, EXTENT, IERROR)
            INTEGER   FH, DATATYPE, IERROR
            INTEGER(KIND=MPI_ADDRESS_KIND)     EXTENT

C++ Syntax

       #include <mpi.h>
       MPI::Aint MPI::File::Get_type_extent(const MPI::Datatype&
            datatype) const

INPUT PARAMETERS

       fh        File handle (handle).

       datatype  Data type (handle).

OUTPUT PARAMETERS

       extent    Data type extent (integer).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_File_get_type_extent can be used to calculate extent for datatype  in  the  file.  The
       extent is the same for all processes accessing the file associated with fh. If the current
       view  uses  a  user-defined  data  representation,   MPI_File_get_type_extent   uses   the
       dtype_file_extent_fn callback to calculate the extent.

FORTRAN 77 NOTES

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

            INTEGER*MPI_ADDRESS_KIND EXTENT

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

NOTES

       If the file data representation is other than "native," care must be taken in constructing
       etypes and file types. Any of the data-type constructor functions may  be  used;  however,
       for  those  functions  that  accept  displacements  in  bytes,  the  displacements must be
       specified in terms of their values in the file for  the  file  data  representation  being
       used.  MPI  will  interpret  these  byte displacements as is; no scaling will be done. The
       function MPI_File_get_type_extent can be used to calculate the extents of  data  types  in
       the  file.  For  etypes  and   file types that are portable data types, MPI will scale any
       displacements in the data types to match the file data representation. Data  types  passed
       as  arguments  to  read/write  routines specify the data layout in memory; therefore, they
       must always be constructed using displacements corresponding to displacements in memory.

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.