Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
futex.h File Reference
#include <linux/compiler.h>
#include <linux/types.h>

Go to the source code of this file.

Data Structures

struct  robust_list
 
struct  robust_list_head
 

Macros

#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   5
 
#define FUTEX_LOCK_PI   6
 
#define FUTEX_UNLOCK_PI   7
 
#define FUTEX_TRYLOCK_PI   8
 
#define FUTEX_WAIT_BITSET   9
 
#define FUTEX_WAKE_BITSET   10
 
#define FUTEX_WAIT_REQUEUE_PI   11
 
#define FUTEX_CMP_REQUEUE_PI   12
 
#define FUTEX_PRIVATE_FLAG   128
 
#define FUTEX_CLOCK_REALTIME   256
 
#define FUTEX_CMD_MASK   ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
 
#define FUTEX_WAIT_PRIVATE   (FUTEX_WAIT | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_WAKE_PRIVATE   (FUTEX_WAKE | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_REQUEUE_PRIVATE   (FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_CMP_REQUEUE_PRIVATE   (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_WAKE_OP_PRIVATE   (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_LOCK_PI_PRIVATE   (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_UNLOCK_PI_PRIVATE   (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_TRYLOCK_PI_PRIVATE   (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_WAIT_BITSET_PRIVATE   (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_WAKE_BITSET_PRIVATE   (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)
 
#define FUTEX_WAIT_REQUEUE_PI_PRIVATE
 
#define FUTEX_CMP_REQUEUE_PI_PRIVATE
 
#define FUTEX_WAITERS   0x80000000
 
#define FUTEX_OWNER_DIED   0x40000000
 
#define FUTEX_TID_MASK   0x3fffffff
 
#define ROBUST_LIST_LIMIT   2048
 
#define FUTEX_BITSET_MATCH_ANY   0xffffffff
 
#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 */
 
#define FUTEX_OP(op, oparg, cmp, cmparg)
 

Macro Definition Documentation

#define FUTEX_BITSET_MATCH_ANY   0xffffffff

Definition at line 124 of file futex.h.

#define FUTEX_CLOCK_REALTIME   256

Definition at line 25 of file futex.h.

#define FUTEX_CMD_MASK   ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)

Definition at line 26 of file futex.h.

#define FUTEX_CMP_REQUEUE   4

Definition at line 14 of file futex.h.

#define FUTEX_CMP_REQUEUE_PI   12

Definition at line 22 of file futex.h.

#define FUTEX_CMP_REQUEUE_PI_PRIVATE
Value:
FUTEX_PRIVATE_FLAG)

Definition at line 40 of file futex.h.

#define FUTEX_CMP_REQUEUE_PRIVATE   (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG)

Definition at line 31 of file futex.h.

#define FUTEX_FD   2

Definition at line 12 of file futex.h.

#define FUTEX_LOCK_PI   6

Definition at line 16 of file futex.h.

#define FUTEX_LOCK_PI_PRIVATE   (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG)

Definition at line 33 of file futex.h.

#define FUTEX_OP (   op,
  oparg,
  cmp,
  cmparg 
)
Value:
(((op & 0xf) << 28) | ((cmp & 0xf) << 24) \
| ((oparg & 0xfff) << 12) | (cmparg & 0xfff))

Definition at line 148 of file futex.h.

#define FUTEX_OP_ADD   1 /* *(int *)UADDR2 += OPARG; */

Definition at line 128 of file futex.h.

#define FUTEX_OP_ANDN   3 /* *(int *)UADDR2 &= ~OPARG; */

Definition at line 130 of file futex.h.

#define FUTEX_OP_CMP_EQ   0 /* if (oldval == CMPARG) wake */

Definition at line 135 of file futex.h.

#define FUTEX_OP_CMP_GE   5 /* if (oldval >= CMPARG) wake */

Definition at line 140 of file futex.h.

#define FUTEX_OP_CMP_GT   4 /* if (oldval > CMPARG) wake */

Definition at line 139 of file futex.h.

#define FUTEX_OP_CMP_LE   3 /* if (oldval <= CMPARG) wake */

Definition at line 138 of file futex.h.

#define FUTEX_OP_CMP_LT   2 /* if (oldval < CMPARG) wake */

Definition at line 137 of file futex.h.

#define FUTEX_OP_CMP_NE   1 /* if (oldval != CMPARG) wake */

Definition at line 136 of file futex.h.

#define FUTEX_OP_OPARG_SHIFT   8 /* Use (1 << OPARG) instead of OPARG. */

Definition at line 133 of file futex.h.

#define FUTEX_OP_OR   2 /* *(int *)UADDR2 |= OPARG; */

Definition at line 129 of file futex.h.

#define FUTEX_OP_SET   0 /* *(int *)UADDR2 = OPARG; */

Definition at line 127 of file futex.h.

#define FUTEX_OP_XOR   4 /* *(int *)UADDR2 ^= OPARG; */

Definition at line 131 of file futex.h.

#define FUTEX_OWNER_DIED   0x40000000

Definition at line 107 of file futex.h.

#define FUTEX_PRIVATE_FLAG   128

Definition at line 24 of file futex.h.

#define FUTEX_REQUEUE   3

Definition at line 13 of file futex.h.

#define FUTEX_REQUEUE_PRIVATE   (FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG)

Definition at line 30 of file futex.h.

#define FUTEX_TID_MASK   0x3fffffff

Definition at line 112 of file futex.h.

#define FUTEX_TRYLOCK_PI   8

Definition at line 18 of file futex.h.

#define FUTEX_TRYLOCK_PI_PRIVATE   (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)

Definition at line 35 of file futex.h.

#define FUTEX_UNLOCK_PI   7

Definition at line 17 of file futex.h.

#define FUTEX_UNLOCK_PI_PRIVATE   (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)

Definition at line 34 of file futex.h.

#define FUTEX_WAIT   0

Definition at line 10 of file futex.h.

#define FUTEX_WAIT_BITSET   9

Definition at line 19 of file futex.h.

#define FUTEX_WAIT_BITSET_PRIVATE   (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG)

Definition at line 36 of file futex.h.

#define FUTEX_WAIT_PRIVATE   (FUTEX_WAIT | FUTEX_PRIVATE_FLAG)

Definition at line 28 of file futex.h.

#define FUTEX_WAIT_REQUEUE_PI   11

Definition at line 21 of file futex.h.

#define FUTEX_WAIT_REQUEUE_PI_PRIVATE
Value:
FUTEX_PRIVATE_FLAG)

Definition at line 38 of file futex.h.

#define FUTEX_WAITERS   0x80000000

Definition at line 99 of file futex.h.

#define FUTEX_WAKE   1

Definition at line 11 of file futex.h.

#define FUTEX_WAKE_BITSET   10

Definition at line 20 of file futex.h.

#define FUTEX_WAKE_BITSET_PRIVATE   (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)

Definition at line 37 of file futex.h.

#define FUTEX_WAKE_OP   5

Definition at line 15 of file futex.h.

#define FUTEX_WAKE_OP_PRIVATE   (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG)

Definition at line 32 of file futex.h.

#define FUTEX_WAKE_PRIVATE   (FUTEX_WAKE | FUTEX_PRIVATE_FLAG)

Definition at line 29 of file futex.h.

#define ROBUST_LIST_LIMIT   2048

Definition at line 118 of file futex.h.