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);
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_bind(RT_MUTEX *mutex, const char *name, RTIME timeout)
Bind to a mutex.
Definition: mutex.c:495
int rt_mutex_unbind(RT_MUTEX *mutex)
Unbind from a mutex.
Definition: mutex.c:515
static int rt_mutex_acquire(RT_MUTEX *mutex, RTIME timeout)
Acquire/lock a mutex (with relative scalar timeout).
Definition: mutex.h:79
int rt_mutex_inquire(RT_MUTEX *mutex, RT_MUTEX_INFO *info)
Query mutex status.
Definition: mutex.c:420
int rt_mutex_release(RT_MUTEX *mutex)
Release/unlock a mutex.
Definition: mutex.c:385
int rt_mutex_create(RT_MUTEX *mutex, const char *name)
Create a mutex.
Definition: mutex.c:106
int rt_mutex_delete(RT_MUTEX *mutex)
Delete a mutex.
Definition: mutex.c:190
int rt_mutex_acquire_timed(RT_MUTEX *mutex, const struct timespec *abs_timeout)
Acquire/lock a mutex (with absolute timeout date).
Definition: mutex.c:298
Mutex status descriptor .
Definition: mutex.h:43
char name[XNOBJECT_NAME_LEN]
Name of mutex.
Definition: mutex.h:53
RT_TASK owner
Current mutex owner, or NO_ALCHEMY_TASK if unlocked.
Definition: mutex.h:49