-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::surf::Resource surf_Resource;
+namespace kernel {
+class EngineImpl;
+namespace actor {
+class ActorImpl;
+typedef boost::intrusive_ptr<ActorImpl> ActorImplPtr;
+} // namespace actor
+
+namespace activity {
+ class ActivityImpl;
+ typedef boost::intrusive_ptr<ActivityImpl> ActivityImplPtr;
+ XBT_PUBLIC void intrusive_ptr_add_ref(ActivityImpl* activity);
+ XBT_PUBLIC void intrusive_ptr_release(ActivityImpl* activity);
+
+ class ConditionVariableImpl;
+
+ class CommImpl;
+ typedef boost::intrusive_ptr<CommImpl> CommImplPtr;
+ class ExecImpl;
+ typedef boost::intrusive_ptr<ExecImpl> ExecImplPtr;
+ class IoImpl;
+ typedef boost::intrusive_ptr<IoImpl> IoImplPtr;
+ class MutexImpl;
+ typedef boost::intrusive_ptr<MutexImpl> MutexImplPtr;
+ class RawImpl;
+ typedef boost::intrusive_ptr<RawImpl> RawImplPtr;
+ class SleepImpl;
+ typedef boost::intrusive_ptr<SleepImpl> SleepImplPtr;
+
+ class MailboxImpl;
+}
+namespace context {
+class Context;
+class ContextFactory;
+} // namespace context
+namespace lmm {
+class Element;
+class Variable;
+class Constraint;
+class ConstraintLight;
+class System;
+}
+namespace resource {
+class Action;
+class Model;
+class Resource;
+class NetworkModel;
+class TraceEvent;
+class LinkImpl;
+class NetworkAction;
+}
+namespace routing {
+class ClusterCreationArgs;
+class LinkCreationArgs;
+class NetPoint;
+class NetZoneImpl;
+class RouteCreationArgs;
+}
+} // namespace kernel
+namespace simix {
+ class Host;
+}
+namespace surf {
+ class Cpu;
+ class CpuModel;
+ class HostImpl;
+ class HostModel;
+ class StorageImpl;
+ class StorageType;
+ class StorageModel;
+}
+namespace mc {
+class CommunicationDeterminismChecker;
+}
+namespace trace_mgr {
+ class trace;
+ class future_evt_set;
+}
+namespace vm {
+class VMModel;
+class VirtualMachineImpl;
+} // namespace vm
+} // namespace simgrid
+
+typedef simgrid::s4u::Actor s4u_Actor;
+typedef simgrid::s4u::Barrier s4u_Barrier;
+typedef simgrid::s4u::Host s4u_Host;
+typedef simgrid::s4u::Link s4u_Link;
+typedef simgrid::s4u::File s4u_File;
+typedef simgrid::s4u::Storage s4u_Storage;
+typedef simgrid::s4u::NetZone s4u_NetZone;
+typedef simgrid::s4u::VirtualMachine s4u_VM;
+typedef boost::intrusive_ptr<simgrid::kernel::activity::ActivityImpl> smx_activity_t;
+typedef simgrid::trace_mgr::trace* tmgr_trace_t;
+
+typedef simgrid::kernel::context::Context* smx_context_t;
+typedef simgrid::kernel::actor::ActorImpl* smx_actor_t;
+typedef simgrid::kernel::activity::ConditionVariableImpl* smx_cond_t;
+typedef simgrid::kernel::activity::MutexImpl* smx_mutex_t;
+typedef simgrid::kernel::activity::MailboxImpl* smx_mailbox_t;
+typedef simgrid::surf::StorageImpl* surf_storage_t;