VSF Documented
atomic.h File Reference

Go to the source code of this file.

Data Structures

struct  atomic_t
 

Macros

#define __VSF_LINUX_ATOM_BITLEN__   32
 
#define ATOMIC_INIT(__VALUE)
 
#define atomic_set(__v, __i)
 
#define atomic_read(__v)
 
#define atomic_add(__i, __v)
 
#define atomic_sub(__i, __v)
 
#define atomic_inc(__v)
 
#define atomic_dec(__v)
 
#define atomic_add_return(__i, __v)
 
#define atomic_sub_return(__i, __v)
 
#define atomic_inc_return(__v)
 
#define atomic_dec_return(__v)
 
#define atomic_inc_and_test(__v)
 
#define atomic_dec_and_test(__v)
 
#define atomic_sub_and_test(__i, __v)
 
#define atomic_add_negative(__i, __v)
 
#define atomic_xchg(__v, __new)
 

Macro Definition Documentation

◆ __VSF_LINUX_ATOM_BITLEN__

#define __VSF_LINUX_ATOM_BITLEN__   32

◆ ATOMIC_INIT

#define ATOMIC_INIT ( __VALUE)
Value:
{ (__VALUE) }

◆ atomic_set

#define atomic_set ( __v,
__i )
Value:
((__v)->counter = (__i))

◆ atomic_read

#define atomic_read ( __v)
Value:
((__v)->counter)

◆ atomic_add

#define atomic_add ( __i,
__v )
Value:
vsf_atom_add(__VSF_LINUX_ATOM_BITLEN__, &(__v)->counter, (__i))
#define __VSF_LINUX_ATOM_BITLEN__
Definition atomic.h:20
#define vsf_atom_add(__bitlen, __ptr, __value)
Definition vsf_arch_abstraction.h:431

◆ atomic_sub

#define atomic_sub ( __i,
__v )
Value:
atomic_add(- (__i), (__v))
#define atomic_add(__i, __v)
Definition atomic.h:31

◆ atomic_inc

#define atomic_inc ( __v)
Value:
atomic_add(1, __v)

◆ atomic_dec

#define atomic_dec ( __v)
Value:
atomic_sub(1, __v)
#define atomic_sub(__i, __v)
Definition atomic.h:32

◆ atomic_add_return

#define atomic_add_return ( __i,
__v )
Value:
({ \
int VSF_MACRO_SAFE_NAME(value) = (__i); \
})
vk_av_control_value_t value
Definition vsf_audio.h:171
#define VSF_MACRO_SAFE_NAME(__NAME)
Definition vsf_preprocessor.h:32

◆ atomic_sub_return

#define atomic_sub_return ( __i,
__v )
Value:
atomic_add_return(- (__i), (__v))
#define atomic_add_return(__i, __v)
Definition atomic.h:36

◆ atomic_inc_return

#define atomic_inc_return ( __v)
Value:

◆ atomic_dec_return

#define atomic_dec_return ( __v)
Value:
#define atomic_sub_return(__i, __v)
Definition atomic.h:40

◆ atomic_inc_and_test

#define atomic_inc_and_test ( __v)
Value:
#define atomic_inc_return(__v)
Definition atomic.h:41

◆ atomic_dec_and_test

#define atomic_dec_and_test ( __v)
Value:
#define atomic_dec_return(__v)
Definition atomic.h:42

◆ atomic_sub_and_test

#define atomic_sub_and_test ( __i,
__v )
Value:
(!atomic_sub_return((__i), (__v)))

◆ atomic_add_negative

#define atomic_add_negative ( __i,
__v )
Value:
(atomic_sub_return((__i), (__v)) < 0)

◆ atomic_xchg

#define atomic_xchg ( __v,
__new )
Value:
vsf_atom_xchg(__VSF_LINUX_ATOM_BITLEN__, &(__v)->counter, (__new))
#define vsf_atom_xchg(__bitlen, __ptr, __new_value)
Definition vsf_arch_abstraction.h:451
Generated from commit: vsfteam/vsf@ceb53fd