Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove the 'TUTORIAL: New API' chunks
[simgrid.git] / src / simix / smx_smurf_private.h
index ee9131a..7847b5f 100644 (file)
 SG_BEGIN_DECL()
 
 /********************************* Simcalls *********************************/
+XBT_PUBLIC(const char*) simcall_names[]; /* Name of each simcall */
 
-/* we want to build the e_smx_simcall_t enumeration, the table of the
- * corresponding simcalls string names, and the simcall handlers table
- * automatically, using macros.
- * To add a new simcall follow the following syntax:
- *
- * */
-
-/**
- * \brief All possible simcalls.
- */
-typedef enum {
-SIMCALL_NONE,
-#include "simcalls_generated_enum.h"
-SIMCALL_NEW_API_INIT,
-NUM_SIMCALLS
-} e_smx_simcall_t;
+#include "smx_popping_generated.h" /* All generated code about simcalls */
 
 typedef int (*simix_match_func_t)(void *, void *, smx_action_t);
 typedef void (*simix_copy_data_func_t)(smx_action_t, void*, size_t);
@@ -48,6 +34,7 @@ union u_smx_scalar {
   double          d;
   size_t          sz;
   sg_size_t       sgsz;
+  sg_offset_t     sgoff;
   void*           dp;
   FPtr            fp;
   const void*     cp;
@@ -62,17 +49,8 @@ typedef struct s_smx_simcall {
 #ifdef HAVE_MC
   int mc_value;
 #endif
-  union u_smx_scalar args[10];
+  union u_smx_scalar args[11];
   union u_smx_scalar result;
-  //FIXME: union u_smx_scalar retval;
-  union {
-    struct {
-      const char* param1;
-      double param2;
-      int result;
-    } new_api;
-
-  };
 } s_smx_simcall_t, *smx_simcall_t;
 
 #if HAVE_MC
@@ -90,11 +68,11 @@ typedef struct s_smx_simcall {
 
 void SIMIX_simcall_push(smx_process_t self);
 void SIMIX_simcall_answer(smx_simcall_t);
-void SIMIX_simcall_pre(smx_simcall_t, int);
-void SIMIX_simcall_post(smx_action_t);
+void SIMIX_simcall_enter(smx_simcall_t, int);
+void SIMIX_simcall_exit(smx_action_t);
 smx_simcall_t SIMIX_simcall_mine(void);
 const char *SIMIX_simcall_name(e_smx_simcall_t kind);
-//TOFIX put it in a better place
+//FIXME put it in a better place
 xbt_dict_t SIMIX_pre_asr_get_properties(smx_simcall_t simcall, const char *name);
 
 /*************************** New simcall interface ****************************/