Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add wrapper to match receiving mailboxes against a user-provided filter
[simgrid.git] / include / msg / msg.h
index f83be03..6498242 100644 (file)
@@ -31,7 +31,7 @@ XBT_PUBLIC(void) MSG_set_function(const char *host_id,
                                   const char *function_name,
                                   xbt_dynar_t arguments);
 
-XBT_PUBLIC(double) MSG_get_clock(void);
+XBT_INLINE XBT_PUBLIC(double) MSG_get_clock(void);
 XBT_PUBLIC(unsigned long int) MSG_get_sent_msg(void);
 
 
@@ -123,7 +123,6 @@ XBT_PUBLIC(const char *) MSG_task_get_name(m_task_t task);
 XBT_PUBLIC(void) MSG_task_set_name(m_task_t task, const char *name);
 XBT_PUBLIC(MSG_error_t) MSG_task_cancel(m_task_t task);
 XBT_PUBLIC(MSG_error_t) MSG_task_destroy(m_task_t task);
-XBT_PUBLIC(void) MSG_task_refcount_dec(m_task_t task);
 
 XBT_PUBLIC(MSG_error_t) MSG_task_get(m_task_t * task, m_channel_t channel);
 XBT_PUBLIC(MSG_error_t) MSG_task_get_with_timeout(m_task_t * task,
@@ -179,14 +178,17 @@ XBT_PUBLIC(MSG_error_t)
     MSG_task_receive(m_task_t * task, const char *alias);
 
 XBT_PUBLIC(msg_comm_t) MSG_task_isend(m_task_t task, const char *alias);
+XBT_PUBLIC(void) MSG_task_dsend(m_task_t task, const char *alias, void_f_pvoid_t cleanup);
 XBT_PUBLIC(msg_comm_t) MSG_task_irecv(m_task_t * task, const char *alias);
 XBT_PUBLIC(int) MSG_comm_test(msg_comm_t comm);
+XBT_PUBLIC(int) MSG_comm_testany(xbt_dynar_t comms);
 XBT_PUBLIC(void) MSG_comm_destroy(msg_comm_t comm);
 XBT_PUBLIC(MSG_error_t) MSG_comm_wait(msg_comm_t comm, double timeout);
 XBT_PUBLIC(void) MSG_comm_waitall(msg_comm_t * comm, int nb_elem,
                                   double timeout);
 XBT_PUBLIC(int) MSG_comm_waitany(xbt_dynar_t comms);
 XBT_PUBLIC(m_task_t) MSG_comm_get_task(msg_comm_t comm);
+XBT_PUBLIC(MSG_error_t) MSG_comm_get_status(msg_comm_t comm);
 
 XBT_PUBLIC(int) MSG_task_listen(const char *alias);
 
@@ -215,7 +217,7 @@ XBT_PUBLIC(MSG_error_t)
                              double timeout);
 
 /************************** Action handling **********************************/
-typedef void (*msg_action_fun) (xbt_dynar_t args);
+typedef void (*msg_action_fun) (const char *const *args);
 XBT_PUBLIC(void) MSG_action_register(const char *action_name,
                                      msg_action_fun function);
 XBT_PUBLIC(void) MSG_action_unregister(const char *action_name);
@@ -232,5 +234,10 @@ MSG_error_t MSG_action_trace_run(char *path);
 
 #include "instr/instr.h"
 
+/* Used only by the bindings */
+#include "simix/simix.h"
+XBT_PUBLIC(smx_context_t) MSG_process_get_smx_ctx(m_process_t process);
+
+
 SG_END_DECL()
 #endif