10#define SYS_LWMUTEX_ATTR_PROTOCOL 0x0002
11#define SYS_LWMUTEX_ATTR_RECURSIVE 0x0010
14#define SYS_LWMUTEX_PROTOCOL_FIFO 1
16#define SYS_LWMUTEX_PROTOCOL_PRIO 2
18#define SYS_LWMUTEX_PROTOCOL_PRIO_INHERIT 3
21#define SYS_LWMUTEX_ATTR_RECURSIVE 0x0010
23#define SYS_LWMUTEX_ATTR_NOT_RECURSIVE 0x0020
s32 sysLwMutexTryLock(sys_lwmutex_t *mutex)
Try to lock a lightweight mutex (non-blocking).
struct sys_lwmutex_attr sys_lwmutex_attr_t
Lightweight mutex attributes data structure.
s32 sysLwMutexCreate(sys_lwmutex_t *mutex, const sys_lwmutex_attr_t *attr)
Create a lightweight mutex.
s32 sysLwMutexLock(sys_lwmutex_t *mutex, u64 timeout)
Lock a lightweight mutex.
struct sys_lwmutex sys_lwmutex_t
Lightweight mutex data structure.
s32 sysLwMutexDestroy(sys_lwmutex_t *mutex)
Destroy a lightweight mutex.
s32 sysLwMutexUnlock(sys_lwmutex_t *mutex)
Unlock a previously locked lightweight mutex.
Lightweight mutex attributes data structure.
char name[8]
Lightweight mutex name.
u32 attr_protocol
Scheduling policy.
u32 attr_recursive
Recursive setting.
Lightweight mutex data structure.
u32 recursive_count
Recursive count.
u32 sleep_queue
Sleep queue.
u32 _pad
Unused padding element.
u64 lock_var
Locking variable.