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#include <time.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define FUTEX_WAIT 0
12#define FUTEX_WAKE 1
13#define FUTEX_FD 2
14#define FUTEX_REQUEUE 3
15#define FUTEX_CMP_REQUEUE 4
16#define FUTEX_WAKE_OP 5
17#define FUTEX_LOCK_PI 6
18#define FUTEX_UNLOCK_PI 7
19#define FUTEX_TRYLOCK_PI 8
20#define FUTEX_WAIT_BITSET 9
21#define FUTEX_WAKE_BITSET 10
22#define FUTEX_WAIT_REQUEUE_PI 11
23#define FUTEX_CMP_REQUEUE_PI 12
24
25#define FUTEX_PRIVATE_FLAG 128
26#define FUTEX_CLOCK_REALTIME 256
27#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
28
29#define FUTEX_BITSET_MATCH_ANY 0xffffffff
30
31long vsf_linux_sys_futex(uint32_t *futex, int futex_op, uint32_t val, const struct timespec *spec, uint32_t *futex2, uint32_t val3);
32#define __NR_futex(__p0, __p1, __p2, __p3, __p4, __p5) \
33 vsf_linux_sys_futex((uint32_t *)(__p0), (__p1), (__p2), (__p3), (uint32_t *)(__p4), (__p5))
34#define __NR_futex_time64 __NR_futex
35#define SYS_futex __NR_futex
36
37#ifdef __cplusplus
38}
39#endif
40
41#endif
long vsf_linux_sys_futex(uint32_t *futex, int futex_op, uint32_t val, const struct timespec *spec, uint32_t *futex2, uint32_t val3)
Definition vsf_linux.c:3557
unsigned uint32_t
Definition stdint.h:9
Definition time.h:67
Generated from commit: vsfteam/vsf@85be636