X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8805bca0b43f6b729ac8a880fc41ae99f6772e27..dae0945417b60dd56b2d01d3190873f1c7eee08d:/include/smpi/smpi.h diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index d87e94dabb..dd0942760c 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -18,6 +18,8 @@ #include #include "simgrid/datatypes.h" +#include "include/smpi/forward.hpp" + #ifdef _WIN32 #define MPI_CALL(type,name,args) \ type name args; \ @@ -172,7 +174,7 @@ SG_BEGIN_DECL() #define MPI_TYPECLASS_INTEGER 1 #define MPI_TYPECLASS_COMPLEX 2 #define MPI_ROOT 0 -#define MPI_INFO_NULL NULL +#define MPI_INFO_NULL ((MPI_Info)NULL) #define MPI_COMM_TYPE_SHARED 1 #define MPI_WIN_NULL ((MPI_Win)NULL) @@ -223,12 +225,6 @@ typedef enum MPIR_Combiner_enum{ MPI_COMBINER_HINDEXED_BLOCK }MPIR_Combiner_enum; -typedef enum MPIR_Topo_type { - MPI_GRAPH=1, - MPI_CART=2, - MPI_DIST_GRAPH=3, - MPI_INVALID_TOPO=-1 -} MPIR_Topo_type; typedef ptrdiff_t MPI_Aint; typedef long long MPI_Offset; @@ -236,8 +232,8 @@ typedef long long MPI_Offset; 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; @@ -246,10 +242,8 @@ typedef struct { int count; } MPI_Status; -struct s_smpi_mpi_win; -typedef struct s_smpi_mpi_win* MPI_Win; -struct s_smpi_mpi_info; -typedef struct s_smpi_mpi_info *MPI_Info; +typedef SMPI_Win* MPI_Win; +typedef SMPI_Info* MPI_Info; #define MPI_STATUS_IGNORE ((MPI_Status*)NULL) #define MPI_STATUSES_IGNORE ((MPI_Status*)NULL) @@ -342,8 +336,7 @@ XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER16; #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; @@ -361,25 +354,21 @@ XBT_PUBLIC_DATA( MPI_Op ) MPI_BXOR; //For accumulate XBT_PUBLIC_DATA( MPI_Op ) MPI_REPLACE; -struct s_smpi_mpi_topology; -typedef struct s_smpi_mpi_topology *MPI_Topology; - -struct s_smpi_mpi_group; -typedef struct s_smpi_mpi_group *MPI_Group; +typedef SMPI_Topology *MPI_Topology; + +typedef SMPI_Group* MPI_Group; #define MPI_GROUP_NULL ((MPI_Group)NULL) 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