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
47 -- These values are hardcoded as well:
48 -- Value of __mutex for shared condvars.
49 PTHREAD_COND_SHARED (void *)~0l
51 -- Value of __total_seq for destroyed condvars.
52 PTHREAD_COND_DESTROYED -1ull
54 -- __nwaiters encodes the number of threads waiting on a condvar
56 -- __nwaiters >> COND_NWAITERS_SHIFT gives us the number of waiters.
62 CLOCK_PROCESS_CPUTIME_ID
63 CLOCK_THREAD_CPUTIME_ID
66 CLOCK_MONOTONIC_COARSE
69 PTHREAD_RWLOCK_PREFER_READER_NP
70 PTHREAD_RWLOCK_PREFER_WRITER_NP
71 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
73 -- 'Shared' attribute values
74 PTHREAD_PROCESS_PRIVATE
75 PTHREAD_PROCESS_SHARED