MPI_File_get_amode - Returns the file access mode


SYNOPSIS

       C:

            #include "mpi.h"

            int MPI_File_get_amode (MPI_File fh, int *amode)

       Fortran:

            INCLUDE "mpif.h" (or USE MPI)

            INTEGER fh, amode, ierror

            CALL MPI_FILE_GET_AMODE (fh, amode, ierror)


DESCRIPTION

       MPI_File_get_amode returns, in amode, the access mode of
       the file associated with fh.  Access mode bits are defined
       in the MPI_File_open(3) man page.

       This routine accepts the following arguments:

       fh        Specifies the file handle (handle)

       amode     Returns access mode (integer)

       ierror    Specifies the return code value for successful
                 completion, which is in MPI_SUCCESS.
                 MPI_SUCCESS is defined in the mpif.h file.


EXAMPLES

       The following Fortran 77 example illustrates decoding an
       access mode bit vector:

       SUBROUTINE BIT_QUERY(TEST_BIT, MAX_BIT, AMODE, BIT_FOUND)
       !
       !   TEST IF THE INPUT TEST_BIT IS SET IN THE INPUT AMODE
       !   IF SET, RETURN 1 IN BIT_FOUND, 0 OTHERWISE
       !
             INTEGER TEST_BIT, AMODE, BIT_FOUND, CP_AMODE, HIFOUND
             BIT_FOUND = 0
             CP_AMODE = AMODE
        100  CONTINUE
             LBIT = 0
             HIFOUND = 0
             DO 20 L = MAX_BIT, 0, -1
                MATCHER = 2**L
                IF (CP_AMODE .GE. MATCHER .AND. HIFOUND .EQ. 0) THEN
                   HIFOUND = 1

                   CP_AMODE = CP_AMODE - MATCHER
                END IF
         20  CONTINUE
             IF (HIFOUND .EQ. 1 .AND. LBIT .EQ. TEST_BIT) BIT_FOUND = 1
             IF (BIT_FOUND .EQ. 0 .AND. HIFOUND .EQ. 1 .AND. &
                 CP_AMODE .GT. 0) GO TO 100
             END

       The previous routine can be called successively to decode
       amode, one bit at a time.  For example, the following code
       fragment checks for MPI_MODE_RDONLY:

       CALL BIT_QUERY(MPI_MODE_RDONLY, 30, AMODE, BIT_FOUND)
             IF (BIT_FOUND .EQ. 1) THEN
                PRINT *, ' FOUND READ-ONLY BIT IN AMODE=', AMODE
             ELSE
                PRINT *, ' READ-ONLY BIT NOT FOUND IN AMODE=', AMODE
             END IF

   Notes for Fortran
       All MPI objects (for example, MPI_Datatype, MPI_Comm,
       MPI_File) are of type INTEGER.


SEE ALSO

       MPI_File_open(3), MPI_IO(3)


Man(1) output converted with man2html