#ifdef __cplusplus
+#include <boost/intrusive_ptr.hpp>
+
namespace simgrid {
namespace s4u {
class As;
class Host;
class Mailbox;
}
+ namespace kernel {
+ namespace activity {
+ class ActivityImpl;
+ }
+ namespace routing {
+ class NetCard;
+ }
+ }
namespace simix {
- class Synchro;
+ class Host;
}
namespace surf {
class Resource;
class Cpu;
- class NetCard;
class Link;
+ class HostImpl;
}
namespace trace_mgr {
class trace;
typedef simgrid::s4u::As simgrid_As;
typedef simgrid::s4u::Host simgrid_Host;
-typedef simgrid::s4u::Mailbox simgrid_Mailbox;
-typedef simgrid::simix::Synchro simix_Synchro;
+typedef simgrid::kernel::activity::ActivityImpl kernel_Activity;
+typedef simgrid::kernel::routing::NetCard routing_NetCard;
typedef simgrid::surf::Cpu surf_Cpu;
-typedef simgrid::surf::NetCard surf_NetCard;
typedef simgrid::surf::Link Link;
typedef simgrid::surf::Resource surf_Resource;
typedef simgrid::trace_mgr::trace tmgr_Trace;
+typedef simgrid::simix::Host *smx_host_priv_t;
+
+
#else
typedef struct simgrid_As simgrid_As;
typedef struct simgrid_Host simgrid_Host;
-typedef struct simgrid_Mailbox simgrid_Mailbox;
-typedef struct simix_Synchro simix_Synchro;
+typedef struct kernel_Activity kernel_Activity;
typedef struct surf_Cpu surf_Cpu;
-typedef struct surf_NetCard surf_NetCard;
+typedef struct routing_NetCard routing_NetCard;
typedef struct surf_Resource surf_Resource;
typedef struct Link Link;
typedef struct Trace tmgr_Trace;
+
+typedef struct simix_Host *smx_host_priv_t;
#endif
typedef simgrid_As *AS_t;
typedef simgrid_Host* sg_host_t;
-typedef simgrid_Mailbox* sg_mbox_t;
-typedef simix_Synchro *smx_synchro_t;
+typedef kernel_Activity *smx_activity_t;
typedef surf_Cpu *surf_cpu_t;
-typedef surf_NetCard *sg_netcard_t;
+typedef routing_NetCard *sg_netcard_t;
typedef surf_Resource *sg_resource_t;
// Types which are in fact dictelmt:
typedef tmgr_Trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
+typedef struct s_smx_simcall s_smx_simcall_t;
+typedef struct s_smx_simcall* smx_simcall_t;
+
typedef enum {
SURF_LINK_FULLDUPLEX = 2,
SURF_LINK_SHARED = 1,