Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merging changes done by Steven, Samuel and Luka, regarding simulation of StarPU-MPI
[simgrid.git] / include / smpi / smpi.h
index ef0e55b..16e95d6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007-2014. The SimGrid Team.
+/* Copyright (c) 2007-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -7,9 +7,15 @@
 #ifndef SMPI_H
 #define SMPI_H
 
+#include <simgrid_config.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#include <stddef.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
+#endif
+
+#include <stddef.h>
 #include <xbt/misc.h>
 #include <xbt/function_types.h>
 
@@ -172,7 +178,7 @@ SG_BEGIN_DECL()
 #define MPI_ROOT 0
 #define MPI_INFO_NULL NULL
 #define MPI_COMM_TYPE_SHARED    1
-#define MPI_WIN_NULL NULL
+#define MPI_WIN_NULL ((MPI_Win)NULL)
 
 #define MPI_VERSION 1
 #define MPI_SUBVERSION 1
@@ -824,6 +830,8 @@ MPI_CALL(XBT_PUBLIC(int),  MPI_Win_wait,(MPI_Win win));
 // smpi functions
 XBT_PUBLIC(int) smpi_global_size(void);
 XBT_PUBLIC(MPI_Comm) smpi_process_comm_self(void);
+XBT_PUBLIC(void*) smpi_process_get_user_data(void);
+XBT_PUBLIC(void) smpi_process_set_user_data(void *);
 /*
 XBT_PUBLIC(void) smpi_exit(int);
 */
@@ -835,6 +843,8 @@ XBT_PUBLIC(double) smpi_get_host_power_peak_at(int pstate_index);
 XBT_PUBLIC(double) smpi_get_host_current_power_peak(void);
 XBT_PUBLIC(int) smpi_get_host_nb_pstates(void);
 XBT_PUBLIC(void) smpi_set_host_pstate(int pstate_index);
+XBT_PUBLIC(int)  smpi_get_host_pstate(void);
+
 XBT_PUBLIC(double) smpi_get_host_consumed_energy(void);
 
 XBT_PUBLIC(int) smpi_usleep(useconds_t usecs);
@@ -882,9 +892,7 @@ XBT_PUBLIC(int) smpi_process_index(void);
 XBT_PUBLIC(void) smpi_process_init(int *argc, char ***argv);
 
 /* Trace replay specific stuff */
-XBT_PUBLIC(void) smpi_replay_init(int *argc, char***argv);
-XBT_PUBLIC(void) smpi_action_trace_run(char *);
-XBT_PUBLIC(int) smpi_replay_finalize(void);
+XBT_PUBLIC(void) smpi_replay_run(int *argc, char***argv);
 
 XBT_PUBLIC(void) SMPI_app_instance_register(const char *name, xbt_main_func_t code, int num_processes);
 XBT_PUBLIC(void) SMPI_init(void);