-XBT_PUBLIC_DATA MPI_Op MPI_MAX;
-XBT_PUBLIC_DATA MPI_Op MPI_MIN;
-XBT_PUBLIC_DATA MPI_Op MPI_MAXLOC;
-XBT_PUBLIC_DATA MPI_Op MPI_MINLOC;
-XBT_PUBLIC_DATA MPI_Op MPI_SUM;
-XBT_PUBLIC_DATA MPI_Op MPI_PROD;
-XBT_PUBLIC_DATA MPI_Op MPI_LAND;
-XBT_PUBLIC_DATA MPI_Op MPI_LOR;
-XBT_PUBLIC_DATA MPI_Op MPI_LXOR;
-XBT_PUBLIC_DATA MPI_Op MPI_BAND;
-XBT_PUBLIC_DATA MPI_Op MPI_BOR;
-XBT_PUBLIC_DATA MPI_Op MPI_BXOR;
+extern SMPI_Op smpi_MPI_MAX;
+extern SMPI_Op smpi_MPI_MIN;
+extern SMPI_Op smpi_MPI_MAXLOC;
+extern SMPI_Op smpi_MPI_MINLOC;
+extern SMPI_Op smpi_MPI_SUM;
+extern SMPI_Op smpi_MPI_PROD;
+extern SMPI_Op smpi_MPI_LAND;
+extern SMPI_Op smpi_MPI_LOR;
+extern SMPI_Op smpi_MPI_LXOR;
+extern SMPI_Op smpi_MPI_BAND;
+extern SMPI_Op smpi_MPI_BOR;
+extern SMPI_Op smpi_MPI_BXOR;
+extern SMPI_Op smpi_MPI_REPLACE;
+extern SMPI_Op smpi_MPI_NO_OP;
+
+#define MPI_MAX SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_MAX)
+#define MPI_MIN SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_MIN)
+#define MPI_MAXLOC SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_MAXLOC)
+#define MPI_MINLOC SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_MINLOC)
+#define MPI_SUM SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_SUM)
+#define MPI_PROD SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_PROD)
+#define MPI_LAND SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_LAND)
+#define MPI_LOR SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_LOR)
+#define MPI_LXOR SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_LXOR)
+#define MPI_BAND SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_BAND)
+#define MPI_BOR SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_BOR)
+#define MPI_BXOR SMPI_PREDEFINED_POINTER(MPI_Op, smpi_MPI_BXOR)
+