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

Go to the source code of this file.

Data Structures

struct  local_t
 

Macros

#define LOCAL_INIT(i)   { ATOMIC_LONG_INIT(i) }
 
#define local_read(l)   atomic_long_read(&(l)->a)
 
#define local_set(l, i)   atomic_long_set(&(l)->a, (i))
 
#define local_add(i, l)   atomic_long_add((i),(&(l)->a))
 
#define local_sub(i, l)   atomic_long_sub((i),(&(l)->a))
 
#define local_inc(l)   atomic_long_inc(&(l)->a)
 
#define local_dec(l)   atomic_long_dec(&(l)->a)
 
#define local_add_negative(a, l)   (local_add_return((a), (l)) < 0)
 
#define local_inc_and_test(l)   (local_inc_return(l) == 0)
 
#define local_cmpxchg(l, o, n)   (cmpxchg_local(&((l)->a.counter), (o), (n)))
 
#define local_xchg(l, n)   (xchg_local(&((l)->a.counter), (n)))
 
#define local_inc_not_zero(l)   local_add_unless((l), 1, 0)
 
#define local_sub_and_test(a, l)   (local_sub_return((a), (l)) == 0)
 
#define local_dec_and_test(l)   (local_dec_return((l)) == 0)
 
#define __local_inc(l)   ((l)->a.counter++)
 
#define __local_dec(l)   ((l)->a.counter++)
 
#define __local_add(i, l)   ((l)->a.counter+=(i))
 
#define __local_sub(i, l)   ((l)->a.counter-=(i))
 

Macro Definition Documentation

#define __local_add (   i,
  l 
)    ((l)->a.counter+=(i))

Definition at line 172 of file local.h.

#define __local_dec (   l)    ((l)->a.counter++)

Definition at line 171 of file local.h.

#define __local_inc (   l)    ((l)->a.counter++)

Definition at line 170 of file local.h.

#define __local_sub (   i,
  l 
)    ((l)->a.counter-=(i))

Definition at line 173 of file local.h.

#define local_add (   i,
  l 
)    atomic_long_add((i),(&(l)->a))

Definition at line 17 of file local.h.

#define local_add_negative (   a,
  l 
)    (local_add_return((a), (l)) < 0)

Definition at line 39 of file local.h.

#define local_cmpxchg (   l,
  o,
  n 
)    (cmpxchg_local(&((l)->a.counter), (o), (n)))

Definition at line 102 of file local.h.

#define local_dec (   l)    atomic_long_dec(&(l)->a)

Definition at line 20 of file local.h.

#define local_dec_and_test (   l)    (local_dec_return((l)) == 0)

Definition at line 139 of file local.h.

#define local_inc (   l)    atomic_long_inc(&(l)->a)

Definition at line 19 of file local.h.

#define local_inc_and_test (   l)    (local_inc_return(l) == 0)

Definition at line 83 of file local.h.

#define local_inc_not_zero (   l)    local_add_unless((l), 1, 0)

Definition at line 136 of file local.h.

#define LOCAL_INIT (   i)    { ATOMIC_LONG_INIT(i) }

Definition at line 12 of file local.h.

#define local_read (   l)    atomic_long_read(&(l)->a)

Definition at line 14 of file local.h.

#define local_set (   l,
  i 
)    atomic_long_set(&(l)->a, (i))

Definition at line 15 of file local.h.

#define local_sub (   i,
  l 
)    atomic_long_sub((i),(&(l)->a))

Definition at line 18 of file local.h.

#define local_sub_and_test (   a,
  l 
)    (local_sub_return((a), (l)) == 0)

Definition at line 138 of file local.h.

#define local_xchg (   l,
  n 
)    (xchg_local(&((l)->a.counter), (n)))

Definition at line 104 of file local.h.