#include <xbt/parmap.h>
#ifdef __cplusplus
#include <functional>
+#include <string>
#include <unordered_map>
#endif
/******************************* Host simcalls ********************************/
#ifdef __cplusplus
-XBT_PUBLIC smx_activity_t simcall_execution_start(std::string name, double flops_amount, double priority, double bound,
- sg_host_t host);
+XBT_PUBLIC smx_activity_t simcall_execution_start(std::string name, std::string category, double flops_amount,
+ double priority, double bound, sg_host_t host);
XBT_PUBLIC smx_activity_t simcall_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list,
double* flops_amount, double* bytes_amount, double rate,
double timeout);
XBT_PUBLIC int simcall_comm_testany(smx_activity_t* comms, size_t count);
/************************** Tracing handling **********************************/
-XBT_PUBLIC void simcall_set_category(smx_activity_t synchro, const char* category);
+#ifdef __cplusplus
+XBT_PUBLIC void simcall_set_category(smx_activity_t synchro, std::string category);
+#endif
/************************** Synchro simcalls **********************************/
SG_BEGIN_DECL()
XBT_PUBLIC int simcall_sem_acquire_timeout(smx_sem_t sem, double max_duration);
/***************************** Storage **********************************/
+XBT_PUBLIC smx_activity_t simcall_io_start(sg_size_t size, sg_storage_t storage);
XBT_PUBLIC sg_size_t simcall_storage_read(surf_storage_t st, sg_size_t size);
XBT_PUBLIC sg_size_t simcall_storage_write(surf_storage_t fd, sg_size_t size);
/************************** MC simcalls **********************************/