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),\
xbt_main_func_t code;
void *data;
const char *hostname;
+ double kill_time;
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;
double rate;
void *src_buff;
size_t src_buff_size;
- int (*match_fun)(void *, void *);
+ int (*match_fun)(void *, void *, smx_action_t);
void *data;
double timeout;
} comm_send;
double rate;
void *src_buff;
size_t src_buff_size;
- int (*match_fun)(void *, void *);
+ int (*match_fun)(void *, void *, smx_action_t);
void (*clean_fun)(void *);
void *data;
int detached;
smx_rdv_t rdv;
void *dst_buff;
size_t *dst_buff_size;
- int (*match_fun)(void *, void *);
+ int (*match_fun)(void *, void *, smx_action_t);
void *data;
double timeout;
} comm_recv;
smx_rdv_t rdv;
void *dst_buff;
size_t *dst_buff_size;
- int (*match_fun)(void *, void *);
- void *data;
+ int (*match_fun)(void *, void *, smx_action_t);
+ void *data;
smx_action_t result;
} comm_irecv;
} sem_get_capacity;
struct {
- const char* storage;
void *ptr;
size_t size;
size_t nmemb;
- m_file_t stream;
- size_t result;
+ smx_file_t stream;
+ double result;
} file_read;
struct {
- const char* storage;
const void *ptr;
size_t size;
size_t nmemb;
- m_file_t stream;
+ smx_file_t stream;
size_t result;
} file_write;
struct {
- const char* storage;
+ const char* mount;
const char* path;
const char* mode;
- m_file_t result;
+ smx_file_t result;
} file_open;
struct {
- const char* storage;
- m_file_t fp;
+ smx_file_t fp;
int result;
} file_close;
struct {
- const char* storage;
- int fd;
- //Next should be struct stat* buf
- void* buf;
+ smx_file_t fd;
+ s_file_stat_t buf;
int result;
} file_stat;