52 #include "RTOp_ConfigDefs.hpp"  
   62 typedef int MPI_Datatype;
 
   63 #define MPI_CHAR           ((MPI_Datatype)1) 
   64 #define MPI_INT            ((MPI_Datatype)6) 
   65 #define MPI_FLOAT          ((MPI_Datatype)10) 
   66 #define MPI_DOUBLE         ((MPI_Datatype)11) 
   68 #define MPI_COMM_WORLD 91 
   69 #define MPI_COMM_NULL      ((MPI_Comm)0) 
   71 #define MPI_OP_NULL        ((MPI_Op)0) 
   72 #define MPI_MAX            (MPI_Op)(100) 
   73 #define MPI_MIN            (MPI_Op)(101) 
   74 #define MPI_SUM            (MPI_Op)(102) 
   75 #define MPI_DATATYPE_NULL  ((MPI_Datatype)0) 
   76 typedef struct { 
int MPI_SOURCE; 
int MPI_TAG; 
int MPI_ERROR; } RTOP_MPI_Status;
 
   77 typedef void (MPI_User_function) ( 
void *, 
void *, 
int *, MPI_Datatype * ); 
 
   82 #define EXPORT_MPI_API 
   83 EXPORT_MPI_API 
int MPI_Init(
int *, 
char ***);
 
   84 EXPORT_MPI_API 
int MPI_Finalize(
void);
 
   85 EXPORT_MPI_API 
int MPI_Comm_size(MPI_Comm, 
int *);
 
   86 EXPORT_MPI_API 
int MPI_Comm_rank(MPI_Comm, 
int *);
 
   87 EXPORT_MPI_API 
int MPI_Type_struct(
int, 
int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);
 
   88 EXPORT_MPI_API 
int MPI_Type_commit(MPI_Datatype *);
 
   89 EXPORT_MPI_API 
int MPI_Type_free(MPI_Datatype *);
 
   90 EXPORT_MPI_API 
int MPI_Op_create(MPI_User_function *, 
int, MPI_Op *);
 
   91 EXPORT_MPI_API 
int MPI_Op_free( MPI_Op *);
 
   92 EXPORT_MPI_API 
int MPI_Send(
void*, 
int, MPI_Datatype, 
int, 
int, MPI_Comm);
 
   93 EXPORT_MPI_API 
int MPI_Recv(
void*, 
int, MPI_Datatype, 
int, 
int, MPI_Comm, RTOP_MPI_Status*);
 
   94 EXPORT_MPI_API 
int MPI_Sendrecv_replace(
void*, 
int, MPI_Datatype, 
int, 
int, 
int, 
int, MPI_Comm, RTOP_MPI_Status*);
 
   95 EXPORT_MPI_API 
int MPI_Reduce(
void* , 
void*, 
int, MPI_Datatype, MPI_Op, 
int, MPI_Comm);
 
   96 EXPORT_MPI_API 
int MPI_Allreduce(
void* , 
void*, 
int, MPI_Datatype, MPI_Op, MPI_Comm);
 
   97 EXPORT_MPI_API 
int MPI_Barrier(MPI_Comm);
 
   98 EXPORT_MPI_API 
int MPI_Bcast(
void*, 
int, MPI_Datatype, 
int, MPI_Comm );
 
   99 EXPORT_MPI_API 
int MPI_Gather(
void* , 
int, MPI_Datatype, 
void*, 
int, MPI_Datatype, 
int, MPI_Comm); 
 
typedef void(CALL_API *RTOp_reduct_op_func_ptr_t)(void *