X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0e543d081879517e1b52c18b6cb38f43ad229bdd..2081f6fe2b7e381943affa55acd913efb077b30f:/src/simix/smx_smurf_private.h diff --git a/src/simix/smx_smurf_private.h b/src/simix/smx_smurf_private.h index b33c06c557..b8640daa3c 100644 --- a/src/simix/smx_smurf_private.h +++ b/src/simix/smx_smurf_private.h @@ -10,23 +10,9 @@ 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_enum.h" /* Definition of e_smx_simcall_t, with one value per simcall */ typedef int (*simix_match_func_t)(void *, void *, smx_action_t); typedef void (*simix_copy_data_func_t)(smx_action_t, void*, size_t); @@ -63,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 @@ -84,27 +61,17 @@ typedef struct s_smx_simcall { #define SIMCALL_GET_MC_VALUE(simcall) 0 #endif -#include "simcalls_generated_res_getter_setter.h" -#include "simcalls_generated_args_getter_setter.h" +#include "smx_popping_accessors.h" /******************************** General *************************************/ -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); -smx_simcall_t SIMIX_simcall_mine(void); +void SIMIX_simcall_enter(smx_simcall_t, int); +void SIMIX_simcall_exit(smx_action_t); 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 ****************************/ - -typedef smx_action_t (*simcall_handler_t)(u_smx_scalar_t *); - -extern const char *simcall_types[]; -extern simcall_handler_t simcall_table[]; - SG_END_DECL() #endif