bugfix for MPI_Recv signature
add some opaque struct definitions