We use the ANSI C declaration format. All MPI names have an MPI_
prefix, defined constants are in all capital letters, and defined types and
functions have one capital letter after the prefix.
Programs must not declare variables or functions with names beginning with
the prefix MPI_ or PMPI_.
This is mandated to avoid possible name collisions.

The definition of named constants, function prototypes, and type
definitions must be supplied in an include file mpi.h.
include filempif.h

Almost all C functions return an error code.
The successful return code will
be MPI_SUCCESS, but
failure return codes are implementation dependent.
A few C functions do not return error codes,
so that they can be implemented as
macros.
return codes

Type declarations are provided for handles to each category of opaque
objects. Either a pointer or an integer type is used.