#include <xbt/function_types.h>
#include "simgrid/datatypes.h"
-#include "forward.hpp"
+#include "include/smpi/forward.hpp"
#ifdef _WIN32
#define MPI_CALL(type,name,args) \
struct s_MPI_File;
typedef struct s_MPI_File *MPI_File;
-struct s_smpi_mpi_datatype;
-typedef struct s_smpi_mpi_datatype *MPI_Datatype;
+
+typedef SMPI_Datatype *MPI_Datatype;
typedef struct {
int MPI_SOURCE;
int count;
} MPI_Status;
-struct s_smpi_mpi_win;
-typedef struct s_smpi_mpi_win* MPI_Win;
+typedef SMPI_Win* MPI_Win;
struct s_smpi_mpi_info;
typedef struct s_smpi_mpi_info *MPI_Info;
#define MPI_2DOUBLE_PRECISION MPI_2DOUBLE
typedef void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype * datatype);
-struct s_smpi_mpi_op;
-typedef struct s_smpi_mpi_op *MPI_Op;
+typedef SMPI_Op *MPI_Op;
#define MPI_OP_NULL ((MPI_Op)NULL)
XBT_PUBLIC_DATA( MPI_Op ) MPI_MAX;
//For accumulate
XBT_PUBLIC_DATA( MPI_Op ) MPI_REPLACE;
-struct s_smpi_mpi_topology;
-typedef struct s_smpi_mpi_topology *MPI_Topology;
+typedef SMPI_Topology *MPI_Topology;
typedef SMPI_Group* MPI_Group;
XBT_PUBLIC_DATA( MPI_Group ) MPI_GROUP_EMPTY;
-struct s_smpi_mpi_communicator;
-typedef struct s_smpi_mpi_communicator *MPI_Comm;
+typedef SMPI_Comm *MPI_Comm;
#define MPI_COMM_NULL ((MPI_Comm)NULL)
XBT_PUBLIC_DATA( MPI_Comm ) MPI_COMM_WORLD;
#define MPI_COMM_SELF smpi_process_comm_self()
-struct s_smpi_mpi_request;
-typedef struct s_smpi_mpi_request *MPI_Request;
+typedef SMPI_Request *MPI_Request;
#define MPI_REQUEST_NULL ((MPI_Request)NULL)
#define MPI_FORTRAN_REQUEST_NULL -1