MPI_Transfer_of_handles - Transfers a Fortran handle
       (which is an integer) to a C handle, and vice versa.


SYNOPSIS

       C:

            #include <mpi.h>

            MPI_Fint MPI_Comm_c2f ( comm )
            MPI_Comm     *comm;

            MPI_Comm MPI_Comm_f2c ( comm )
            MPI_Fint     *comm;

            MPI_Fint MPI_Type_c2f ( datatype )
            MPI_Datatype     *datatype;

            MPI_Datatype MPI_Type_f2c ( datatype )
            MPI_Fint    *datatype;

            MPI_Fint MPI_Group_c2f ( group )
            MPI_Group     *group;

            MPI_Group MPI_Group_f2c ( group )
            MPI_Fint     *group;

            MPI_Fint MPI_Request_c2f ( request )
            MPI_Request     *request;

            MPI_Request MPI_Request_f2c ( request )
            MPI_Fint     *request;

            MPI_Win     *win;

            MPI_Win MPI_Win_f2c ( win )
            MPI_Fint     *win;

            MPI_Fint MPI_Op_c2f ( FIop )
            MPI_Op     *op;


STANDARDS

       This release implements the MPI 2.0 standard, as
       documented by the MPI Forum in the July 1997 release of
       MPI:  A Message Passing Interface Standard.


DESCRIPTION

       The MPI_Transfer_of_handles functions convert from an
       integer Fortran handle to a C handle, and from a C handle
       to an integer Fortran handle.

       You can pass handles between Fortran and C or C++ by using
       an explicit C wrapper to convert Fortran handles to C
       handles. There is no direct access to C or C++ handles in
       Fortran.

       You can pass handles between C and C++ by using overloaded
       C++ operators called from C++ code. There is no direct
       access to C++ objects from C.

       The type definition, MPI_Fint, is provided in C and C++
       for an integer of the size that matches a Fortran INTEGER
       type. Usually, MPI_Fint will be equivalent to int.

       The MPI_Transfer_of_handles function descriptions and the
       parameters they accept are as follows:

       MPI_Comm_f2c returns a C handle to a communicator.  If the
       comm parameter is a valid Fortran handle to a
       communicator, MPI_Comm_f2c returns a valid C handle to
       that same communicator. If the value of comm is
       MPI_COMM_NULL (Fortran value), MPI_Comm_f2c returns a null
       C handle.  If comm is an invalid Fortran handle,
       MPI_Comm_f2c returns an invalid C handle.

       MPI_Comm_c2f translates a C communicator handle into a
       Fortran handle to the same communicator. It maps a null

       invalid handle.

       MPI_Type_f2c returns a C handle to a datatype.  If the
       datatype parameter is a valid Fortran handle to a
       datatype, MPI_Type_f2c returns a valid C handle to that
       same datatype. If the value of datatype is
       MPI_DATATYPE_NULL (Fortran value), MPI_Type_f2c returns a
       null C handle.  If datatype is an invalid Fortran handle,
       MPI_Type_f2c returns an invalid C handle.

       MPI_Type_c2f translates a C datatype handle into a Fortran
       handle to the same datatype. It maps a null handle into a
       null handle and an invalid handle into an invalid handle.

       MPI_Group_f2c returns a C handle to a group.  If the group
       parameter is a valid Fortran handle to a group,
       MPI_Group_f2c returns a valid C handle to that same group.
       If the value of group is MPI_GROUP_NULL (Fortran value),
       MPI_Group_f2c returns a null C handle.  If group is an
       invalid Fortran handle, MPI_Group_f2c returns an invalid C
       handle.

       MPI_Group_c2f translates a C group handle into a Fortran
       handle to the same group. It maps a null handle into a
       null handle and an invalid handle into an invalid handle.

       MPI_Request_f2c returns a C handle to a request.  If the
       request parameter is a valid Fortran handle to a request,
       MPI_request_f2c returns a valid C handle to that same
       request. If the value of request is MPI_REQUEST_NULL
       (Fortran value), MPI_Request_f2c returns a null C handle.
       If request is an invalid Fortran handle, MPI_Request_f2c
       returns an invalid C handle.

       MPI_Request_c2f translates a C request handle into a
       Fortran handle to the same request. It maps a null handle
       into a null handle and an invalid handle into an invalid
       handle.

       MPI_Win_f2c returns a C handle to a window.  If the win
       parameter is a valid Fortran handle to a window,
       MPI_Win_f2c returns a valid C handle to that same window.
       If the value of win is MPI_WIN_NULL (Fortran value),
       MPI_Win_f2c returns a null C handle.  If win is an invalid
       Fortran handle, MPI_Win_f2c returns an invalid C handle.

       MPI_Win_c2f translates a C window handle into a Fortran
       handle to the same window. It maps a null handle into a
       null handle and an invalid handle into an invalid handle.

       MPI_Op_f2c returns a C handle to an operator.  If the op
       parameter is a valid Fortran handle to an operator,
       MPI_Op_f2c returns a valid C handle to that same operator.

       MPI_Op_f2c returns a null C handle.  If op is an invalid
       Fortran handle, MPI_Op_f2c returns an invalid C handle.

       MPI_Op_c2f translates a C operator handle into a Fortran
       handle to the same operator. It maps a null handle into a
       null handle and an invalid handle into an invalid handle.


NOTES

       All MPI routines in Fortran (except for MPI_Wtime(3) and
       MPI_Wtick(3) ) have an additional ierr argument at the end
       of the argument list.  ierr is an integer and has the same
       meaning as the return value of the routine in C.  In
       Fortran, MPI routines are subroutines and are invoked with
       the CALL statement.  Additionally, in Fortran, all MPI
       objects (for example, MPI_Datatype and MPI_Comm) are of
       type integer.


Man(1) output converted with man2html