The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single integer (NOT a pointer, since Fortran has no pointers and their are systems for which a pointer does not fit in an integer (e.g., any > 32 bit address system that uses 64 bits for Fortran DOUBLE PRECISION).
#include "mpi.h"
int MPI_Attr_put ( comm, keyval, attr_value )
MPI_Comm comm;
int keyval;
void *attr_value;
Location: attr_putval.c