X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/53b6a451a45d9d6465c9dbad3f29d3f1a55ca238..9417357ad97284aa163a86b0ab60058641fc0064:/src/simix/smx_smurf_private.h diff --git a/src/simix/smx_smurf_private.h b/src/simix/smx_smurf_private.h index 58b8bc4899..dcd3402aaf 100644 --- a/src/simix/smx_smurf_private.h +++ b/src/simix/smx_smurf_private.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2010, 2012-2013. The SimGrid Team. +/* Copyright (c) 2007-2010, 2012-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -29,6 +29,7 @@ NUM_SIMCALLS } e_smx_simcall_t; typedef int (*simix_match_func_t)(void *, void *, smx_action_t); +typedef void (*simix_copy_data_func_t)(smx_action_t, void*, size_t); typedef void (*simix_clean_func_t)(void *); typedef void (*FPtr)(void); // Hide the ugliness @@ -47,6 +48,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; @@ -58,8 +60,10 @@ union u_smx_scalar { typedef struct s_smx_simcall { e_smx_simcall_t call; smx_process_t issuer; +#ifdef HAVE_MC int mc_value; - union u_smx_scalar args[10]; +#endif + union u_smx_scalar args[11]; union u_smx_scalar result; //FIXME: union u_smx_scalar retval; union { @@ -72,6 +76,14 @@ typedef struct s_smx_simcall { }; } s_smx_simcall_t, *smx_simcall_t; +#if HAVE_MC +#define SIMCALL_SET_MC_VALUE(simcall, value) ((simcall)->mc_value = (value)) +#define SIMCALL_GET_MC_VALUE(simcall) ((simcall)->mc_value) +#else +#define SIMCALL_SET_MC_VALUE(simcall, value) ((void)0) +#define SIMCALL_GET_MC_VALUE(simcall) 0 +#endif + #include "simcalls_generated_res_getter_setter.h" #include "simcalls_generated_args_getter_setter.h"