Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
quick fix that hopefully won't break too much compilation ... the second parameter...
[simgrid.git] / include / smpi / smpi.h
index 2d94d6a..e85b524 100644 (file)
@@ -12,8 +12,6 @@
 #include <xbt/misc.h>
 #include <xbt/function_types.h>
 
-#define sleep(x) smpi_sleep(x)
-#define gettimeofday(x, y) smpi_gettimeofday(x, y)
 
 #ifdef _WIN32
 #define MPI_CALL(type,name,args) \
@@ -59,6 +57,8 @@ SG_BEGIN_DECL()
 #define MPI_ERR_GROUP    10
 #define MPI_ERR_OP       11
 #define MPI_ERR_OTHER    12
+#define MPI_ERR_IN_STATUS 13
+#define MPI_ERR_PENDING   14
 #define MPI_IDENT     0
 #define MPI_SIMILAR   1
 #define MPI_UNEQUAL   2
@@ -67,6 +67,13 @@ SG_BEGIN_DECL()
 #define MPI_TAG_UB           1000000
 #define MPI_HOST             0
 #define MPI_IO               0
+#define MPI_BSEND_OVERHEAD   0
+
+typedef enum MPIR_Topo_type {
+  MPI_GRAPH=1,
+  MPI_CART=2,
+  MPI_DIST_GRAPH=3
+} MPIR_Topo_type;
 
 typedef ptrdiff_t MPI_Aint;
 typedef long long MPI_Offset;
@@ -120,12 +127,14 @@ XBT_PUBLIC( MPI_Datatype ) MPI_OFFSET;
 XBT_PUBLIC( MPI_Datatype ) MPI_LB;
 XBT_PUBLIC( MPI_Datatype ) MPI_UB;
 //The following are datatypes for the MPI functions MPI_MAXLOC  and MPI_MINLOC.
-XBT_PUBLIC( MPI_Datatype ) MPI_FLOAT_INT;
-XBT_PUBLIC( MPI_Datatype ) MPI_LONG_INT;
-XBT_PUBLIC( MPI_Datatype ) MPI_DOUBLE_INT;
-XBT_PUBLIC( MPI_Datatype ) MPI_SHORT_INT;
-XBT_PUBLIC( MPI_Datatype ) MPI_2INT;
-XBT_PUBLIC( MPI_Datatype ) MPI_LONG_DOUBLE_INT;
+XBT_PUBLIC(MPI_Datatype) MPI_FLOAT_INT;
+XBT_PUBLIC(MPI_Datatype) MPI_LONG_INT;
+XBT_PUBLIC(MPI_Datatype) MPI_DOUBLE_INT;
+XBT_PUBLIC(MPI_Datatype) MPI_SHORT_INT;
+XBT_PUBLIC(MPI_Datatype) MPI_2INT;
+XBT_PUBLIC(MPI_Datatype) MPI_LONG_DOUBLE_INT;
+XBT_PUBLIC(MPI_Datatype) MPI_2FLOAT;
+XBT_PUBLIC(MPI_Datatype) MPI_2DOUBLE;
 
 typedef void MPI_User_function(void *invec, void *inoutvec, int *len,
                                MPI_Datatype * datatype);
@@ -398,6 +407,11 @@ typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval, void* extra_state, v
 typedef int MPI_Delete_function(MPI_Comm comm, int keyval, void* attribute_val, void* extra_state);
 
 XBT_PUBLIC(MPI_Datatype)  MPI_PACKED;
+XBT_PUBLIC(MPI_Errhandler*)  MPI_ERRORS_RETURN;
+XBT_PUBLIC(MPI_Errhandler*)  MPI_ERRORS_ARE_FATAL;
+XBT_PUBLIC(MPI_Errhandler*)  MPI_ERRHANDLER_NULL;
+
+
 MPI_CALL(XBT_PUBLIC(int), MPI_Pack_size, (int incount, MPI_Datatype datatype, MPI_Comm comm, int* size));
 MPI_CALL(XBT_PUBLIC(int), MPI_Cart_coords, (MPI_Comm comm, int rank, int maxdims, int* coords));
 MPI_CALL(XBT_PUBLIC(int), MPI_Cart_create, (MPI_Comm comm_old, int ndims, int* dims, int* periods, int reorder, MPI_Comm* comm_cart));
@@ -460,7 +474,7 @@ XBT_PUBLIC(void) smpi_exit(int);
 */
 
 XBT_PUBLIC(unsigned int) smpi_sleep(unsigned int secs);
-XBT_PUBLIC(int) smpi_gettimeofday(struct timeval *tv, struct timezone *tz);
+XBT_PUBLIC(int) smpi_gettimeofday(struct timeval *tv);
 XBT_PUBLIC(unsigned long long) smpi_rastro_resolution (void);
 XBT_PUBLIC(unsigned long long) smpi_rastro_timestamp (void);
 XBT_PUBLIC(void) smpi_sample_1(int global, const char *file, int line,
@@ -495,7 +509,8 @@ XBT_PUBLIC(void*) smpi_shared_set_call(const char* func, const char* input, void
 
 /* Fortran specific stuff */
 XBT_PUBLIC(int) __attribute__((weak)) smpi_simulated_main(int argc, char** argv);
-XBT_PUBLIC(int) MAIN__(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]);
+XBT_PUBLIC(int) __attribute__((weak)) MAIN__(void);
+XBT_PUBLIC(int) smpi_main(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]);
 
 XBT_PUBLIC(int) smpi_process_index(void);