18 #ifndef _XENOMAI_ALCHEMY_MUTEX_H 19 #define _XENOMAI_ALCHEMY_MUTEX_H 22 #include <alchemy/timer.h> 23 #include <alchemy/task.h> 34 typedef struct RT_MUTEX RT_MUTEX;
53 char name[XNOBJECT_NAME_LEN];
68 const struct timespec *abs_timeout);
75 alchemy_abs_timeout(timeout, &ts));
83 alchemy_rel_timeout(timeout, &ts));
92 const char *name, RTIME timeout);
int rt_mutex_delete(RT_MUTEX *mutex)
Delete a mutex.
Definition: mutex.c:192
int rt_mutex_unbind(RT_MUTEX *mutex)
Unbind from a mutex.
Definition: mutex.c:528
int rt_mutex_inquire(RT_MUTEX *mutex, RT_MUTEX_INFO *info)
Query mutex status.
Definition: mutex.c:432
static int rt_mutex_acquire(RT_MUTEX *mutex, RTIME timeout)
Acquire/lock a mutex (with relative scalar timeout).
Definition: mutex.h:79
RT_TASK owner
Current mutex owner, or NO_ALCHEMY_TASK if unlocked.
Definition: mutex.h:49
int rt_mutex_acquire_timed(RT_MUTEX *mutex, const struct timespec *abs_timeout)
Acquire/lock a mutex (with absolute timeout date).
Definition: mutex.c:308
static int rt_mutex_acquire_until(RT_MUTEX *mutex, RTIME timeout)
Acquire/lock a mutex (with absolute scalar timeout).
Definition: mutex.h:71
int rt_mutex_create(RT_MUTEX *mutex, const char *name)
Create a mutex.
Definition: mutex.c:107
char name[XNOBJECT_NAME_LEN]
Name of mutex.
Definition: mutex.h:53
Mutex status descriptor.
Definition: mutex.h:43
int rt_mutex_release(RT_MUTEX *mutex)
Release/unlock a mutex.
Definition: mutex.c:396
int rt_mutex_bind(RT_MUTEX *mutex, const char *name, RTIME timeout)
Bind to a mutex.
Definition: mutex.c:508