VSF Documented
futex.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_FUTEX_H__
2#define __VSF_LINUX_FUTEX_H__
3
4#include <stdint.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define FUTEX_WAIT 0
11#define FUTEX_WAKE 1
12#define FUTEX_FD 2
13#define FUTEX_REQUEUE 3
14#define FUTEX_CMP_REQUEUE 4
15#define FUTEX_WAKE_OP 5
16#define FUTEX_LOCK_PI 6
17#define FUTEX_UNLOCK_PI 7
18#define FUTEX_TRYLOCK_PI 8
19#define FUTEX_WAIT_BITSET 9
20#define FUTEX_WAKE_BITSET 10
21#define FUTEX_WAIT_REQUEUE_PI 11
22#define FUTEX_CMP_REQUEUE_PI 12
23
24#define FUTEX_PRIVATE_FLAG 128
25#define FUTEX_CLOCK_REALTIME 256
26#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
27
28
29long sys_futex(uint32_t *futex, int futex_op, uint32_t val, uintptr_t val2, uint32_t *futex2, uint32_t val3);
30#define __NR_futex(__p0, __p1, __p2, __p3, __p4, __p5) \
31 sys_futex((uint32_t *)(__p0), (__p1), (__p2), (__p3), (uint32_t *)(__p4), (__p5))
32#define __NR_futex_time64 __NR_futex
33#define SYS_futex __NR_futex
34
35#ifdef __cplusplus
36}
37#endif
38
39#endif
long sys_futex(uint32_t *futex, int futex_op, uint32_t val, uintptr_t val2, uint32_t *futex2, uint32_t val3)
Definition vsf_linux.c:3470
uint32_t uintptr_t
Definition stdint.h:38
unsigned uint32_t
Definition stdint.h:9