#ifndef SG_PLATF_TYPES_H
#define SG_PLATF_TYPES_H
-#include <xbt.h>
-
#ifdef __cplusplus
+#include <boost/intrusive_ptr.hpp>
+
namespace simgrid {
namespace s4u {
+ class Actor;
+ class Host;
+ class Link;
+ class Mailbox;
+ class NetZone;
+ }
+ namespace kernel {
+ namespace activity {
+ class ActivityImpl;
+ }
+ namespace routing {
+ class NetPoint;
+ }
+ }
+ namespace simix {
class Host;
}
namespace surf {
class Resource;
class Cpu;
- class NetCard;
- class As;
- class Link;
+ class LinkImpl;
+ class HostImpl;
+ class Storage;
}
namespace trace_mgr {
+ class trace;
class future_evt_set;
}
}
-typedef simgrid::s4u::Host simgrid_Host;
-typedef simgrid::surf::As surf_As;
-typedef simgrid::surf::Cpu surf_Cpu;
-typedef simgrid::surf::NetCard surf_NetCard;
-typedef simgrid::surf::Link Link;
+typedef simgrid::s4u::Actor s4u_Actor;
+typedef simgrid::s4u::Host s4u_Host;
+typedef simgrid::s4u::Link s4u_Link;
+typedef simgrid::s4u::NetZone s4u_NetZone;
+typedef simgrid::kernel::activity::ActivityImpl kernel_Activity;
+typedef simgrid::kernel::routing::NetPoint routing_NetPoint;
typedef simgrid::surf::Resource surf_Resource;
+typedef simgrid::trace_mgr::trace tmgr_Trace;
#else
-typedef struct simgrid_Host simgrid_Host;
-typedef struct surf_As surf_As;
-typedef struct surf_Cpu surf_Cpu;
-typedef struct surf_NetCard surf_NetCard;
+typedef struct s4u_Actor s4u_Actor;
+typedef struct s4u_Host s4u_Host;
+typedef struct s4u_Link s4u_Link;
+typedef struct s4u_NetZone s4u_NetZone;
+typedef struct kernel_Activity kernel_Activity;
+typedef struct routing_NetPoint routing_NetPoint;
typedef struct surf_Resource surf_Resource;
-typedef struct Link Link;
+typedef struct Trace tmgr_Trace;
+
#endif
-typedef simgrid_Host* sg_host_t;
-typedef surf_As *AS_t;
-typedef surf_Cpu *surf_cpu_t;
-typedef surf_NetCard *sg_netcard_t;
+typedef s4u_NetZone* sg_netzone_t;
+typedef s4u_Host* sg_host_t;
+typedef s4u_Link* sg_link_t;
+
+typedef kernel_Activity *smx_activity_t;
+
+typedef routing_NetPoint* sg_netpoint_t;
typedef surf_Resource *sg_resource_t;
// Types which are in fact dictelmt:
-typedef xbt_dictelm_t sg_storage_t;
+typedef struct s_xbt_dictelm *sg_storage_t;
+
+typedef tmgr_Trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
-typedef struct 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,