Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
[simgrid.git] / src / simix / smx_smurf_private.h
index 3fe6281..ad7ef06 100644 (file)
@@ -47,11 +47,14 @@ SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_GET_PROPERTIES),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_SLEEP),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_ON_EXIT),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_AUTO_RESTART_SET),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_RESTART),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_CREATE),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_DESTROY),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_GEY_BY_NAME),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_COMM_COUNT_BY_HOST),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_GET_HEAD),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_SET_RECV),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_RDV_GET_RECV),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_SEND),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_ISEND),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_RECV),\
@@ -62,6 +65,7 @@ SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_WAITANY),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_WAIT),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_TEST),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_TESTANY),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_IPROBE),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_GET_REMAINS),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_GET_STATE),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_COMM_GET_SRC_DATA),\
@@ -90,7 +94,14 @@ SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_READ),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_WRITE),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_OPEN),\
 SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_CLOSE),\
-SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_STAT)
+SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_STAT), \
+SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_UNLINK),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_LS),\
+SIMCALL_ENUM_ELEMENT(SIMCALL_ASR_GET_PROPERTIES), \
+/* ****************************************************************************************** */ \
+/* TUTORIAL: New API                                                                        */ \
+/* ****************************************************************************************** */ \
+SIMCALL_ENUM_ELEMENT(SIMCALL_NEW_API_INIT)
 
 
 /* SIMCALL_COMM_IS_LATENCY_BOUNDED and SIMCALL_SET_CATEGORY make things complicated
@@ -109,8 +120,16 @@ SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_STAT)
 #define SIMCALL_LIST3
 #endif
 
+#ifdef HAVE_MC
+#define SIMCALL_LIST4                                        \
+  ,SIMCALL_ENUM_ELEMENT(SIMCALL_MC_SNAPSHOT)                 \
+  ,SIMCALL_ENUM_ELEMENT(SIMCALL_MC_COMPARE_SNAPSHOTS)
+#else
+#define SIMCALL_LIST4
+#endif
+
 /* SIMCALL_LIST is the final macro to use */
-#define SIMCALL_LIST SIMCALL_LIST1 SIMCALL_LIST2 SIMCALL_LIST3
+#define SIMCALL_LIST SIMCALL_LIST1 SIMCALL_LIST2 SIMCALL_LIST3 SIMCALL_LIST4
 
 /* you can redefine the following macro differently to generate something else
  * with the list of enumeration values (e.g. a table of strings or a table of function pointers) */
@@ -303,6 +322,11 @@ typedef struct s_smx_simcall {
       int auto_restart;
     } process_auto_restart;
 
+    struct {
+      smx_process_t process;
+      smx_process_t result;
+    } process_restart;
+
     struct {
       const char *name;
       smx_rdv_t result;
@@ -328,6 +352,16 @@ typedef struct s_smx_simcall {
       smx_action_t result;
     } rdv_get_head;
 
+    struct {
+      smx_rdv_t rdv;
+      smx_process_t receiver;
+    } rdv_set_rcv_proc;
+
+    struct {
+      smx_rdv_t rdv;
+      smx_process_t result;
+    } rdv_get_rcv_proc;
+
     struct {
       smx_rdv_t rdv;
       double task_size;
@@ -370,6 +404,15 @@ typedef struct s_smx_simcall {
       smx_action_t result;
     } comm_irecv;
 
+    struct {
+      smx_rdv_t rdv;
+      int src;
+      int tag;
+      int (*match_fun)(void *, void *, smx_action_t);
+      void *data;
+      smx_action_t result;
+    } comm_iprobe;
+
     struct {
       smx_action_t comm;
     } comm_destroy;
@@ -556,6 +599,41 @@ typedef struct s_smx_simcall {
       int result;
     } file_stat;
 
+    struct {
+      smx_file_t fd;
+      int result;
+    } file_unlink;
+
+    struct {
+      const char *mount;
+      const char *path;
+      xbt_dict_t result;
+    } file_ls;
+
+    struct {
+      const char* name;
+      xbt_dict_t result;
+    } asr_get_properties;
+
+    struct{
+      void *s;
+    } mc_snapshot;
+
+    struct{
+      void *snapshot1;
+      void *snapshot2;
+      int result;
+    } mc_compare_snapshots;
+
+    /* ****************************************************************************************** */
+    /* TUTORIAL: New API                                                                        */
+    /* ****************************************************************************************** */
+    struct {
+      const char* param1;
+      double param2;
+      int result;
+    } new_api;
+
   };
 } s_smx_simcall_t, *smx_simcall_t;