#include <stdlib.h>
#include "compilerSpecific.h"
#include "epicsAtomicCD.h"
Go to the source code of this file.
|
EPICS_ATOMIC_INLINE void | epicsAtomicReadMemoryBarrier (void) |
|
EPICS_ATOMIC_INLINE void | epicsAtomicWriteMemoryBarrier (void) |
|
EPICS_ATOMIC_INLINE size_t | epicsAtomicIncrSizeT (size_t *pTarget) |
|
EPICS_ATOMIC_INLINE int | epicsAtomicIncrIntT (int *pTarget) |
|
EPICS_ATOMIC_INLINE size_t | epicsAtomicDecrSizeT (size_t *pTarget) |
|
EPICS_ATOMIC_INLINE int | epicsAtomicDecrIntT (int *pTarget) |
|
EPICS_ATOMIC_INLINE size_t | epicsAtomicAddSizeT (size_t *pTarget, size_t delta) |
|
EPICS_ATOMIC_INLINE size_t | epicsAtomicSubSizeT (size_t *pTarget, size_t delta) |
|
EPICS_ATOMIC_INLINE int | epicsAtomicAddIntT (int *pTarget, int delta) |
|
EPICS_ATOMIC_INLINE void | epicsAtomicSetSizeT (size_t *pTarget, size_t newValue) |
|
EPICS_ATOMIC_INLINE void | epicsAtomicSetIntT (int *pTarget, int newValue) |
|
EPICS_ATOMIC_INLINE void | epicsAtomicSetPtrT (EpicsAtomicPtrT *pTarget, EpicsAtomicPtrT newValue) |
|
EPICS_ATOMIC_INLINE size_t | epicsAtomicGetSizeT (const size_t *pTarget) |
|
EPICS_ATOMIC_INLINE int | epicsAtomicGetIntT (const int *pTarget) |
|
EPICS_ATOMIC_INLINE EpicsAtomicPtrT | epicsAtomicGetPtrT (const EpicsAtomicPtrT *pTarget) |
|
EPICS_ATOMIC_INLINE size_t | epicsAtomicCmpAndSwapSizeT (size_t *pTarget, size_t oldVal, size_t newVal) |
|
EPICS_ATOMIC_INLINE int | epicsAtomicCmpAndSwapIntT (int *pTarget, int oldVal, int newVal) |
|
EPICS_ATOMIC_INLINE EpicsAtomicPtrT | epicsAtomicCmpAndSwapPtrT (EpicsAtomicPtrT *pTarget, EpicsAtomicPtrT oldVal, EpicsAtomicPtrT newVal) |
|
Definition at line 126 of file epicsAtomicCD.h.
128 return __sync_add_and_fetch ( pTarget, delta );
Definition at line 156 of file epicsAtomicCD.h.
158 return __sync_add_and_fetch ( pTarget, delta );
Definition at line 132 of file epicsAtomicCD.h.
135 return __sync_val_compare_and_swap ( pTarget, oldVal, newVal);
Definition at line 175 of file epicsAtomicCD.h.
179 return __sync_val_compare_and_swap ( pTarget, oldVal, newVal);
EPICS_ATOMIC_INLINE size_t epicsAtomicCmpAndSwapSizeT |
( |
size_t * |
pTarget, |
|
|
size_t |
oldVal, |
|
|
size_t |
newVal |
|
) |
| |
Definition at line 168 of file epicsAtomicCD.h.
171 return __sync_val_compare_and_swap ( pTarget, oldVal, newVal);
Definition at line 120 of file epicsAtomicCD.h.
122 return __sync_sub_and_fetch ( pTarget, 1 );
Definition at line 150 of file epicsAtomicCD.h.
152 return __sync_sub_and_fetch ( pTarget, 1u );
Definition at line 114 of file epicsAtomicCD.h.
116 return __sync_add_and_fetch ( pTarget, 1 );
Definition at line 144 of file epicsAtomicCD.h.
146 return __sync_add_and_fetch ( pTarget, 1u );
Definition at line 162 of file epicsAtomicCD.h.
164 return __sync_sub_and_fetch ( pTarget, delta );