Lines Matching defs:uaddr
18 * @uaddr: address of first futex
20 * @val: typically expected value of uaddr, but varies by op
36 #define futex(uaddr, op, val, timeout, uaddr2, val3, opflags) \
37 syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3)
40 * futex_wait() - block on uaddr with optional timeout
44 futex_wait(u_int32_t *uaddr, u_int32_t val, struct timespec *timeout, int opflags)
46 return futex(uaddr, FUTEX_WAIT, val, timeout, NULL, 0, opflags);
50 * futex_wake() - wake one or more tasks blocked on uaddr
54 futex_wake(u_int32_t *uaddr, int nr_wake, int opflags)
56 return futex(uaddr, FUTEX_WAKE, nr_wake, NULL, NULL, 0, opflags);
60 * futex_lock_pi() - block on uaddr as a PI mutex
63 futex_lock_pi(u_int32_t *uaddr, struct timespec *timeout, int opflags)
65 return futex(uaddr, FUTEX_LOCK_PI, 0, timeout, NULL, 0, opflags);
69 * futex_unlock_pi() - release uaddr as a PI mutex, waking the top waiter
72 futex_unlock_pi(u_int32_t *uaddr, int opflags)
74 return futex(uaddr, FUTEX_UNLOCK_PI, 0, NULL, NULL, 0, opflags);
78 * futex_cmp_requeue() - requeue tasks from uaddr to uaddr2
83 futex_cmp_requeue(u_int32_t *uaddr, u_int32_t val, u_int32_t *uaddr2, int nr_wake,
86 return futex(uaddr, FUTEX_CMP_REQUEUE, nr_wake, nr_requeue, uaddr2,