MPI_Comm_create_keyval(3)
MPI_Comm_create_keyval - Generates a new communicator attribute key
As shipped in IRIX 6.5.30. 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.