#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) \
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.
-extern MPI_Datatype MPI_FLOAT_INT;
-extern MPI_Datatype MPI_LONG_INT;
-extern MPI_Datatype MPI_DOUBLE_INT;
-extern MPI_Datatype MPI_SHORT_INT;
-extern MPI_Datatype MPI_2INT;
-extern 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;
*/
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,
/* 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);