There are subtle differences between C and Fortran that require that the copy_fn be written in the same language that MPI_Keyval_create is called from. 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.
#include "mpi.h"
int MPI_Keyval_create ( copy_fn, delete_fn, keyval, extra_state )
MPI_Copy_function *copy_fn;
MPI_Delete_function *delete_fn;
int *keyval;
void *extra_state;
Location: keyval_create.c