futex.h
来自「此工具是arm-linux-GCC交叉编译工具(cross-3.4.4)」· C头文件 代码 · 共 44 行
H
44 行
#ifndef _LINUX_FUTEX_H#define _LINUX_FUTEX_H/* Second argument to futex syscall */#define FUTEX_WAIT 0#define FUTEX_WAKE 1#define FUTEX_FD 2#define FUTEX_REQUEUE 3#define FUTEX_CMP_REQUEUE 4#define FUTEX_WAKE_OP 5long do_futex(unsigned long uaddr, int op, int val, unsigned long timeout, unsigned long uaddr2, int val2, int val3);#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake *//* FUTEX_WAKE_OP will perform atomically int oldval = *(int *)UADDR2; *(int *)UADDR2 = oldval OP OPARG; if (oldval CMP CMPARG) wake UADDR2; */#define FUTEX_OP(op, oparg, cmp, cmparg) \ (((op & 0xf) << 28) | ((cmp & 0xf) << 24) \ | ((oparg & 0xfff) << 12) | (cmparg & 0xfff))#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?