typedef boost::intrusive_ptr<MutexImpl> MutexImplPtr;
class RawImpl;
typedef boost::intrusive_ptr<RawImpl> RawImplPtr;
+ class SemaphoreImpl;
+ typedef boost::intrusive_ptr<SemaphoreImpl> SemaphoreImplPtr;
class SleepImpl;
typedef boost::intrusive_ptr<SleepImpl> SleepImplPtr;
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::kernel::activity::MutexImpl* smx_mutex_t;
+typedef simgrid::kernel::activity::SemaphoreImpl* smx_sem_t;
#else
typedef struct s4u_VM s4u_VM;
typedef struct kernel_Activity* smx_activity_t;
-typedef struct s_smx_context* smx_context_t;
typedef struct s_smx_actor* smx_actor_t;
typedef struct s_smx_cond_t* smx_cond_t;
-typedef struct s_smx_mutex* smx_mutex_t;
+typedef struct s_smx_context* smx_context_t;
typedef struct s_smx_mailbox* smx_mailbox_t;
+typedef struct s_smx_mutex* smx_mutex_t;
+typedef struct s_smx_sem* smx_sem_t;
#endif