MPI_Comm_create_keyval(3)

MPI_Comm_create_keyval - Generates a new communicator attribute key

As shipped in IRIX 6.5.22. Added in IRIX 6.5.22.

NAME
     MPI_Comm_create_keyval - Generates a new communicator attribute key

SYNOPSIS
     C:

          #include <mpi.h>

          int MPI_Comm_create_keyval ( comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval,
          extra_state)
          MPI_Comm_copy_attr_function   *comm_copy_attr_fn;
          MPI_Comm_delete_attr_function *comm_delete_attr_fn;
          int                 *comm_keyval;
          void                *extra_state;


     Fortran:

          INCLUDE "mpif.h" (or USE MPI)

          EXTERNAL comm_copy_attr_fn, comm_delete_attr_fn
          INTEGER keyval, ierror
          INTEGER(KIND=MPI_ADDRESS_KIND) extra_state

          CALL MPI_COMM_CREATE_KEYVAL(comm_copy_attr_fn, comm_delete_attr_fn, comm_keyval,
          extra_state, ierror)


STANDARDS
     This function is defined in the MPI-2 standard.

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

DESCRIPTION
     The MPI_Comm_create_keyval routine generates a new communicator attribute
     key.  This function replaces MPI_Keyval_create which has been deprecated.
     This routine accepts the following parameters:

     comm_copy_attr_fn
                    Specifies the copy callback function for keyval

     comm_delete_attr_fn
                    Specifies the delete callback function for keyval

     extra_state    Specifies an extra state for callback functions

     keyval         Returns the key value for future access (integer)
     ierror         Specifies the return code value for successful completion,
                    which is in MPI_SUCCESS.  MPI_SUCCESS is defined in the
                    mpif.h file.

NOTES
     Key values are global (available for any and all communicators).

     There are subtle differences between C and Fortran that require that
     comm_copy_attr_fn be written in the same language as that from which
      MPI_Comm_create_keyval is called.  This should not be a problem for most
     users; only programers using both Fortran and C in the same program need
     to be sure that they follow this rule.  Also, the attribute types for
     Fortran call back functions are integers of kind MPI_ADDRESS_KIND.  Note
     this is different from the callback routines used with the deprecated
     MPI_Keyval_create routine.   Thus, replacement of calls to the Fortran
     version of MPI_Keyval_create with MPI_Comm_create_keyval may require
     changes to the accompanying callback functions.