5 #ifndef __SYS_MUTEX_H__ 6 #define __SYS_MUTEX_H__ 12 #define SYS_MUTEX_PROTOCOL_FIFO 1 14 #define SYS_MUTEX_PROTOCOL_PRIO 2 16 #define SYS_MUTEX_PROTOCOL_PRIO_INHERIT 3 19 #define SYS_MUTEX_ATTR_RECURSIVE 0x0010 21 #define SYS_MUTEX_ATTR_NOT_RECURSIVE 0x0020 24 #define SYS_MUTEX_ATTR_PSHARED 0x0200 27 #define SYS_MUTEX_ATTR_ADAPTIVE 0x1000 29 #define SYS_MUTEX_ATTR_NOT_ADAPTIVE 0x2000 79 lv2syscall2(100,(u64)mutex,(u64)attr);
80 return_to_user_prog(s32);
89 lv2syscall1(101,mutex);
90 return_to_user_prog(s32);
101 lv2syscall2(102,mutex,timeout_usec);
102 return_to_user_prog(s32);
112 lv2syscall1(103,mutex);
113 return_to_user_prog(s32);
122 lv2syscall1(104,mutex);
123 return_to_user_prog(s32);
u32 attr_adaptive
Adaptive setting.
Definition: mutex.h:61
Mutex attributes data structure.
Definition: mutex.h:36
Lightweight mutex library.
u64 key
Mutex key.
Definition: mutex.h:63
LV2_SYSCALL sysMutexUnlock(sys_mutex_t mutex)
Unlock a previously locked mutex.
Definition: mutex.h:120
char name[8]
Mutex name.
Definition: mutex.h:69
u32 attr_pshared
Sharing policy (only known value for it is SYS_MUTEX_ATTR_PSHARED)
Definition: mutex.h:54
LV2_SYSCALL sysMutexCreate(sys_mutex_t *mutex, const sys_mutex_attr_t *attr)
Create a mutex.
Definition: mutex.h:77
struct sys_mutex_attr sys_mutex_attr_t
Mutex attributes data structure.
LV2_SYSCALL sysMutexLock(sys_mutex_t mutex, u64 timeout_usec)
Lock a mutex.
Definition: mutex.h:99
u32 _pad
Unused padding element.
Definition: mutex.h:67
LV2_SYSCALL sysMutexTryLock(sys_mutex_t mutex)
Try to lock a mutex (non-blocking).
Definition: mutex.h:110
u32 attr_recursive
Recursive setting.
Definition: mutex.h:52
u32 attr_protocol
Scheduling policy.
Definition: mutex.h:45
s32 flags
Mutex flags.
Definition: mutex.h:65
LV2_SYSCALL sysMutexDestroy(sys_mutex_t mutex)
Destroy a mutex.
Definition: mutex.h:87