Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge s4u wait_any
[simgrid.git] / include / simgrid / simix.h
index 53e7b0b..6b7f31b 100644 (file)
@@ -32,22 +32,21 @@ namespace simix {
   class Context;
   class ContextFactory;
   class Mutex;
+  class Mailbox;
 }
 }
 
 typedef simgrid::simix::Context *smx_context_t;
 typedef simgrid::simix::Process *smx_process_t;
-
-/**
- * \ingroup simix_synchro_management
- */
 typedef simgrid::simix::Mutex   *smx_mutex_t;
+typedef simgrid::simix::Mailbox *smx_mailbox_t;
 
 #else
 
 typedef struct s_smx_context *smx_context_t;
 typedef struct s_smx_process *smx_process_t;
 typedef struct s_smx_mutex   *smx_mutex_t;
+typedef struct s_smx_mailbox *smx_mailbox_t;
 
 #endif
 
@@ -110,10 +109,6 @@ typedef enum {
 /** @} */
 
 /******************************* Networking ***********************************/
-/**
- * \ingroup simix_mbox_management
- */
-typedef struct s_smx_mailbox *smx_mailbox_t;
 
 /* Process creation/destruction callbacks */
 typedef void (*void_pfn_smxprocess_t) (smx_process_t);
@@ -364,10 +359,10 @@ XBT_PUBLIC(smx_synchro_t) simcall_comm_iprobe(smx_mailbox_t mbox, int type, int
 XBT_PUBLIC(void) simcall_comm_cancel(smx_synchro_t comm);
 
 /* FIXME: waitany is going to be a vararg function, and should take a timeout */
-XBT_PUBLIC(unsigned int) simcall_comm_waitany(xbt_dynar_t comms);
+XBT_PUBLIC(unsigned int) simcall_comm_waitany(xbt_dynar_t comms, double timeout);
 XBT_PUBLIC(void) simcall_comm_wait(smx_synchro_t comm, double timeout);
 XBT_PUBLIC(int) simcall_comm_test(smx_synchro_t comm);
-XBT_PUBLIC(int) simcall_comm_testany(xbt_dynar_t comms);
+XBT_PUBLIC(int) simcall_comm_testany(smx_synchro_t* comms, size_t count);
 
 /************************** Tracing handling **********************************/
 XBT_PUBLIC(void) simcall_set_category(smx_synchro_t synchro, const char *category);