3 #include <l4/sys/compiler.h>
8 typedef struct ddekit_lock *ddekit_lock_t;
10 /** Initialize a DDEKit lock.
12 * \ingroup DDEKit_synchronization
14 void ddekit_lock_init (ddekit_lock_t *mtx);
16 L4_INLINE void ddekit_lock_init_unlocked(ddekit_lock_t *mtx);
18 /** Uninitialize a DDEKit lock.
20 * \ingroup DDEKit_synchronization
22 void ddekit_lock_deinit (ddekit_lock_t *mtx);
26 * \ingroup DDEKit_synchronization
28 void ddekit_lock_lock (ddekit_lock_t *mtx);
30 /** Acquire a lock, non-blocking.
32 * \return 0 on success
35 * \ingroup DDEKit_synchronization
37 int ddekit_lock_try_lock(ddekit_lock_t *mtx);
41 * \ingroup DDEKit_synchronization
43 void ddekit_lock_unlock (ddekit_lock_t *mtx);
49 * \ingroup DDEKit_synchronization
51 int ddekit_lock_owner(ddekit_lock_t *mtx);
53 L4_INLINE void ddekit_lock_init_unlocked(ddekit_lock_t *mtx)
55 ddekit_lock_init(mtx);