#include "xbt/ex.h"
#include "xbt/parmap.h"
-#ifdef __cplusplus
-
-namespace simgrid {
-namespace kernel {
-namespace context {
- class Context;
- class ContextFactory;
- }
- namespace activity {
- class MailboxImpl;
- }
- }
-
- namespace simix {
-
- class MutexImpl;
-}
-}
-
-typedef simgrid::kernel::context::Context* smx_context_t;
-typedef simgrid::simix::ActorImpl* smx_actor_t;
-typedef simgrid::simix::MutexImpl* smx_mutex_t;
-typedef simgrid::kernel::activity::MailboxImpl* smx_mailbox_t;
-
-#else
-
-typedef struct s_smx_context *smx_context_t;
-typedef struct s_smx_actor *smx_actor_t;
-typedef struct s_smx_mutex *smx_mutex_t;
-typedef struct s_smx_mailbox *smx_mailbox_t;
-
-#endif
/* ******************************** Host ************************************ */
/** @brief Host datatype
/************************** Comunication simcalls *****************************/
-XBT_PUBLIC(void) simcall_comm_send(smx_actor_t sender, smx_mailbox_t mbox, double task_size,
- double rate, void *src_buff,
- size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, double timeout);
-
-XBT_PUBLIC(smx_activity_t) simcall_comm_isend(smx_actor_t sender, smx_mailbox_t mbox,
- double task_size,
- double rate, void *src_buff,
- size_t src_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*clean_fun)(void *),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, int detached);
-
-XBT_PUBLIC(void) simcall_comm_recv(smx_actor_t receiver, smx_mailbox_t mbox, void *dst_buff,
- size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, double timeout, double rate);
-
-XBT_PUBLIC(smx_activity_t) simcall_comm_irecv(smx_actor_t receiver, smx_mailbox_t mbox, void *dst_buff,
- size_t * dst_buff_size,
- int (*match_fun)(void *, void *, smx_activity_t),
- void (*copy_data_fun)(smx_activity_t, void*, size_t),
- void *data, double rate);
-
-XBT_PUBLIC(smx_activity_t) simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int tag,
- int (*match_fun)(void *, void *, smx_activity_t), void *data);
+XBT_PUBLIC(void)
+simcall_comm_send(smx_actor_t sender, smx_mailbox_t mbox, double task_size, double rate, void* src_buff,
+ size_t src_buff_size, int (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*copy_data_fun)(smx_activity_t, void*, size_t), void* data, double timeout);
+
+XBT_PUBLIC(smx_activity_t)
+simcall_comm_isend(smx_actor_t sender, smx_mailbox_t mbox, double task_size, double rate, void* src_buff,
+ size_t src_buff_size, int (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*clean_fun)(void*), void (*copy_data_fun)(smx_activity_t, void*, size_t), void* data,
+ int detached);
+
+XBT_PUBLIC(void)
+simcall_comm_recv(smx_actor_t receiver, smx_mailbox_t mbox, void* dst_buff, size_t* dst_buff_size,
+ int (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*copy_data_fun)(smx_activity_t, void*, size_t), void* data, double timeout, double rate);
+
+XBT_PUBLIC(smx_activity_t)
+simcall_comm_irecv(smx_actor_t receiver, smx_mailbox_t mbox, void* dst_buff, size_t* dst_buff_size,
+ int (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*),
+ void (*copy_data_fun)(smx_activity_t, void*, size_t), void* data, double rate);
+
+XBT_PUBLIC(smx_activity_t)
+simcall_comm_iprobe(smx_mailbox_t mbox, int type, int src, int tag,
+ int (*match_fun)(void*, void*, simgrid::kernel::activity::CommImpl*), void* data);
XBT_PUBLIC(void) simcall_comm_cancel(smx_activity_t comm);
/* FIXME: waitany is going to be a vararg function, and should take a timeout */