MPI_TYPE_CREATE_KEYVAL(3)MPI_TYPE_CREATE_KEYVAL(3)NAMEMPI_Type_create_keyval - Generates a new data type attribute key
SYNOPSIS
C:
#include <mpi.h>
int MPI_Type_create_keyval ( type_copy_attr_fn, type_delete_attr_fn, type_keyval,
extra_state)
MPI_Type_copy_attr_function *type_copy_attr_fn;
MPI_Type_delete_attr_function *type_delete_attr_fn;
int *type_keyval;
void *extra_state;
Fortran:
INCLUDE "mpif.h" (or USE MPI)
EXTERNAL type_copy_attr_fn, type_delete_attr_fn
INTEGER keyval, ierror
INTEGER(KIND=MPI_ADDRESS_KIND) extra_state
CALL MPI_TYPE_CREATE_KEYVAL(type_copy_attr_fn, type_delete_attr_fn, type_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_Type_create_keyval routine generates a new type attribute key.
This routine accepts the following parameters:
type_copy_attr_fn
Specifies the copy callback function for keyval
type_delete_attr_fn
Specifies the delete callback function for keyval
extra_state Specifies an extra state for callback functions
type_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.
Page 1
MPI_TYPE_CREATE_KEYVAL(3)MPI_TYPE_CREATE_KEYVAL(3)NOTES
Key values are global (available for any and all datatypes).
There are subtle differences between C and Fortran that require that
type_copy_attr_fn be written in the same language as that from which
MPI_Type_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.
Page 2