/********************************* Requests ***********************************/
typedef enum {
+ REQ_NO_REQ, /* Used when there is no ongoing request here */
REQ_HOST_GET_BY_NAME,
REQ_HOST_GET_NAME,
REQ_HOST_GET_PROPERTIES,
REQ_COMM_TESTANY,
REQ_COMM_GET_REMAINS,
REQ_COMM_GET_STATE,
- REQ_COMM_GET_DATA,
+ REQ_COMM_GET_SRC_DATA,
+ REQ_COMM_GET_DST_DATA,
REQ_COMM_GET_SRC_BUFF,
REQ_COMM_GET_DST_BUFF,
REQ_COMM_GET_SRC_BUFF_SIZE,
struct {
smx_action_t comm;
- void *result;
- } comm_get_data;
+ void *result;
+ } comm_get_src_data;
+
+ struct {
+ smx_action_t comm;
+ void *result;
+ } comm_get_dst_data;
struct {
smx_action_t comm;
void SIMIX_request_init(void);
void SIMIX_request_destroy(void);
-void SIMIX_request_push(smx_req_t);
+void SIMIX_request_push(void);
smx_req_t SIMIX_request_pop(void);
void SIMIX_request_answer(smx_req_t);
-void SIMIX_request_pre(smx_req_t);
+void SIMIX_request_pre(smx_req_t, int);
void SIMIX_request_post(smx_action_t);
int SIMIX_request_is_visible(smx_req_t req);
int SIMIX_request_is_enabled(smx_req_t req);
+int SIMIX_request_is_enabled_by_idx(smx_req_t req, unsigned int idx);
+XBT_INLINE smx_req_t SIMIX_req_mine(void);
#endif