Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
cmpxchg.h File Reference
#include <linux/irqflags.h>
#include <asm-generic/cmpxchg-local.h>
#include <asm-generic/cmpxchg.h>

Go to the source code of this file.

Data Structures

struct  __xchg_dummy
 

Macros

#define xchg(ptr, x)   ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
 
#define __xg(x)   ((volatile struct __xchg_dummy *)(x))
 
#define cmpxchg_local(ptr, o, n)
 
#define cmpxchg64_local(ptr, o, n)   __cmpxchg64_local_generic((ptr), (o), (n))
 
#define atomic_xchg(v, new)   (xchg(&((v)->counter), new))
 

Macro Definition Documentation

#define __xg (   x)    ((volatile struct __xchg_dummy *)(x))

Definition at line 9 of file cmpxchg.h.

#define atomic_xchg (   v,
  new 
)    (xchg(&((v)->counter), new))

Definition at line 58 of file cmpxchg.h.

#define cmpxchg64_local (   ptr,
  o,
  n 
)    __cmpxchg64_local_generic((ptr), (o), (n))

Definition at line 52 of file cmpxchg.h.

#define cmpxchg_local (   ptr,
  o,
  n 
)
Value:
((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\
(unsigned long)(n), sizeof(*(ptr))))

Definition at line 49 of file cmpxchg.h.

#define xchg (   ptr,
  x 
)    ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))

Definition at line 6 of file cmpxchg.h.