Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
futex.h File Reference
#include <linux/futex.h>
#include <linux/uaccess.h>
#include <linux/errno.h>
#include <asm/atomic.h>

Go to the source code of this file.

Macros

#define __futex_call(FN)
 
#define __futex_set()   __futex_call(__atomic_xchg)
 
#define __futex_add()   __futex_call(__atomic_xchg_add)
 
#define __futex_or()   __futex_call(__atomic_or)
 
#define __futex_andn()   __futex_call(__atomic_andn)
 
#define __futex_xor()   __futex_call(__atomic_xor)
 
#define __futex_cmpxchg()
 
#define __futex_prolog()
 

Macro Definition Documentation

#define __futex_add ( )    __futex_call(__atomic_xchg_add)

Definition at line 83 of file futex.h.

#define __futex_andn ( )    __futex_call(__atomic_andn)

Definition at line 85 of file futex.h.

#define __futex_call (   FN)
Value:
{ \
struct __get_user gu = FN((u32 __force *)uaddr, lock, oparg); \
val = gu.val; \
ret = gu.err; \
}

Definition at line 75 of file futex.h.

#define __futex_cmpxchg ( )
Value:
{ \
lock, oldval, oparg); \
val = gu.val; \
ret = gu.err; \
}

Definition at line 88 of file futex.h.

#define __futex_or ( )    __futex_call(__atomic_or)

Definition at line 84 of file futex.h.

#define __futex_prolog ( )
Value:
int *lock; \
__insn_prefetch(uaddr); \

Definition at line 102 of file futex.h.

#define __futex_set ( )    __futex_call(__atomic_xchg)

Definition at line 82 of file futex.h.

#define __futex_xor ( )    __futex_call(__atomic_xor)

Definition at line 86 of file futex.h.