SIMCALL_ENUM_ELEMENT(SIMCALL_PROCESS_IS_SUSPENDED),\
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),\
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),\
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
#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) */
int argc;
char **argv;
xbt_dict_t properties;
+ int auto_restart;
} process_create;
struct {
e_smx_state_t result;
} process_sleep;
+ struct {
+ smx_process_t process;
+ int_f_pvoid_t fun;
+ void *data;
+ } process_on_exit;
+
+ struct {
+ smx_process_t process;
+ 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;
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;
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;
} sem_get_capacity;
struct {
- const char* storage;
void *ptr;
size_t size;
size_t nmemb;
smx_file_t stream;
- size_t result;
+ double result;
} file_read;
struct {
- const char* storage;
const void *ptr;
size_t size;
size_t nmemb;
} file_write;
struct {
- const char* storage;
+ const char* mount;
const char* path;
const char* mode;
smx_file_t result;
} file_open;
struct {
- const char* storage;
smx_file_t fp;
int result;
} file_close;
struct {
- const char* storage;
smx_file_t fd;
s_file_stat_t buf;
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;