4 PTHREAD_MUTEX_KIND_MASK PTHREAD_MUTEX_KIND_MASK_NP
6 PTHREAD_MUTEX_RECURSIVE PTHREAD_MUTEX_RECURSIVE_NP
7 PTHREAD_MUTEX_ERRORCHECK PTHREAD_MUTEX_ERRORCHECK_NP
8 PTHREAD_MUTEX_ADAPTIVE_NP
11 -- These are hardcoded all over the code; there are no enums/macros for them.
12 PTHREAD_MUTEX_DESTROYED -1
13 PTHREAD_MUTEX_UNLOCKED 0
14 PTHREAD_MUTEX_LOCKED_NO_WAITERS 1
17 PTHREAD_MUTEX_INCONSISTENT
18 PTHREAD_MUTEX_NOTRECOVERABLE
21 -- For robust and PI mutexes
26 PTHREAD_MUTEX_ROBUST_NORMAL_NP
27 PTHREAD_MUTEX_PRIO_INHERIT_NP
28 PTHREAD_MUTEX_PRIO_PROTECT_NP
29 PTHREAD_MUTEX_PSHARED_BIT
30 PTHREAD_MUTEX_PRIO_CEILING_SHIFT
31 PTHREAD_MUTEX_PRIO_CEILING_MASK
33 -- Mutex attribute flags
34 PTHREAD_MUTEXATTR_PROTOCOL_SHIFT
35 PTHREAD_MUTEXATTR_PROTOCOL_MASK
36 PTHREAD_MUTEXATTR_PRIO_CEILING_MASK
37 PTHREAD_MUTEXATTR_FLAG_ROBUST
38 PTHREAD_MUTEXATTR_FLAG_PSHARED
39 PTHREAD_MUTEXATTR_FLAG_BITS
40 PTHREAD_MUTEX_NO_ELISION_NP
48 -- FIXME Why do macros prefixed with __ cannot be used directly?
49 PTHREAD_COND_SHARED_MASK __PTHREAD_COND_SHARED_MASK
50 PTHREAD_COND_CLOCK_MONOTONIC_MASK __PTHREAD_COND_CLOCK_MONOTONIC_MASK
52 -- These values are hardcoded:
53 PTHREAD_COND_WREFS_SHIFT 3
56 PTHREAD_RWLOCK_PREFER_READER_NP
57 PTHREAD_RWLOCK_PREFER_WRITER_NP
58 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
61 PTHREAD_RWLOCK_WRPHASE
62 PTHREAD_RWLOCK_WRLOCKED
63 PTHREAD_RWLOCK_READER_SHIFT
65 -- 'Shared' attribute values
66 PTHREAD_PROCESS_PRIVATE
67 PTHREAD_PROCESS_SHARED