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>
#include <asm/types.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_inc(l)   atomic_long_inc(&(l)->a)
 
#define local_dec(l)   atomic_long_dec(&(l)->a)
 
#define local_add(i, l)   atomic_long_add((i),(&(l)->a))
 
#define local_sub(i, l)   atomic_long_sub((i),(&(l)->a))
 
#define local_sub_and_test(i, l)   atomic_long_sub_and_test((i), (&(l)->a))
 
#define local_dec_and_test(l)   atomic_long_dec_and_test(&(l)->a)
 
#define local_inc_and_test(l)   atomic_long_inc_and_test(&(l)->a)
 
#define local_add_negative(i, l)   atomic_long_add_negative((i), (&(l)->a))
 
#define local_add_return(i, l)   atomic_long_add_return((i), (&(l)->a))
 
#define local_sub_return(i, l)   atomic_long_sub_return((i), (&(l)->a))
 
#define local_inc_return(l)   atomic_long_inc_return(&(l)->a)
 
#define local_cmpxchg(l, o, n)   atomic_long_cmpxchg((&(l)->a), (o), (n))
 
#define local_xchg(l, n)   atomic_long_xchg((&(l)->a), (n))
 
#define local_add_unless(l, _a, u)   atomic_long_add_unless((&(l)->a), (_a), (u))
 
#define local_inc_not_zero(l)   atomic_long_inc_not_zero(&(l)->a)
 
#define __local_inc(l)   local_set((l), local_read(l) + 1)
 
#define __local_dec(l)   local_set((l), local_read(l) - 1)
 
#define __local_add(i, l)   local_set((l), local_read(l) + (i))
 
#define __local_sub(i, l)   local_set((l), local_read(l) - (i))
 

Macro Definition Documentation

#define __local_add (   i,
  l 
)    local_set((l), local_read(l) + (i))

Definition at line 52 of file local.h.

#define __local_dec (   l)    local_set((l), local_read(l) - 1)

Definition at line 51 of file local.h.

#define __local_inc (   l)    local_set((l), local_read(l) + 1)

Definition at line 50 of file local.h.

#define __local_sub (   i,
  l 
)    local_set((l), local_read(l) - (i))

Definition at line 53 of file local.h.

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

Definition at line 32 of file local.h.

#define local_add_negative (   i,
  l 
)    atomic_long_add_negative((i), (&(l)->a))

Definition at line 38 of file local.h.

#define local_add_return (   i,
  l 
)    atomic_long_add_return((i), (&(l)->a))

Definition at line 39 of file local.h.

#define local_add_unless (   l,
  _a,
  u 
)    atomic_long_add_unless((&(l)->a), (_a), (u))

Definition at line 45 of file local.h.

#define local_cmpxchg (   l,
  o,
  n 
)    atomic_long_cmpxchg((&(l)->a), (o), (n))

Definition at line 43 of file local.h.

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

Definition at line 31 of file local.h.

#define local_dec_and_test (   l)    atomic_long_dec_and_test(&(l)->a)

Definition at line 36 of file local.h.

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

Definition at line 30 of file local.h.

#define local_inc_and_test (   l)    atomic_long_inc_and_test(&(l)->a)

Definition at line 37 of file local.h.

#define local_inc_not_zero (   l)    atomic_long_inc_not_zero(&(l)->a)

Definition at line 46 of file local.h.

#define local_inc_return (   l)    atomic_long_inc_return(&(l)->a)

Definition at line 41 of file local.h.

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

Definition at line 26 of file local.h.

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

Definition at line 28 of file local.h.

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

Definition at line 29 of file local.h.

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

Definition at line 33 of file local.h.

#define local_sub_and_test (   i,
  l 
)    atomic_long_sub_and_test((i), (&(l)->a))

Definition at line 35 of file local.h.

#define local_sub_return (   i,
  l 
)    atomic_long_sub_return((i), (&(l)->a))

Definition at line 40 of file local.h.

#define local_xchg (   l,
  n 
)    atomic_long_xchg((&(l)->a), (n))

Definition at line 44 of file local.h.