16 #ifndef epicsAtomicDefault_h 17 #define epicsAtomicDefault_h 34 #ifndef EPICS_ATOMIC_INCR_INTT 41 result = ++(*pTarget);
47 #ifndef EPICS_ATOMIC_INCR_SIZET 54 result = ++(*pTarget);
63 #ifndef EPICS_ATOMIC_DECR_INTT 70 result = --(*pTarget);
76 #ifndef EPICS_ATOMIC_DECR_SIZET 83 result = --(*pTarget);
92 #ifndef EPICS_ATOMIC_ADD_INTT 99 result = *pTarget += delta;
105 #ifndef EPICS_ATOMIC_ADD_SIZET 112 result = *pTarget += delta;
118 #ifndef EPICS_ATOMIC_SUB_SIZET 125 result = *pTarget -= delta;
134 #ifndef EPICS_ATOMIC_SET_INTT 142 #ifndef EPICS_ATOMIC_SET_SIZET 150 #ifndef EPICS_ATOMIC_SET_PTRT 162 #ifndef EPICS_ATOMIC_GET_INTT 170 #ifndef EPICS_ATOMIC_GET_SIZET 178 #ifndef EPICS_ATOMIC_GET_PTRT 190 #ifndef EPICS_ATOMIC_CAS_INTT 198 if ( cur == oldval ) {
206 #ifndef EPICS_ATOMIC_CAS_SIZET 208 size_t oldval,
size_t newval )
215 if ( cur == oldval ) {
223 #ifndef EPICS_ATOMIC_CAS_PTRT 233 if ( cur == oldval ) {
EPICS_ATOMIC_INLINE void epicsAtomicReadMemoryBarrier(void)
EPICS_ATOMIC_INLINE size_t epicsAtomicGetSizeT(const size_t *pTarget)
EPICS_ATOMIC_INLINE void epicsAtomicSetSizeT(size_t *pTarget, size_t newVal)
EPICS_ATOMIC_INLINE size_t epicsAtomicIncrSizeT(size_t *pTarget)
EPICS_ATOMIC_INLINE EpicsAtomicPtrT epicsAtomicCmpAndSwapPtrT(EpicsAtomicPtrT *pTarget, EpicsAtomicPtrT oldval, EpicsAtomicPtrT newval)
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 size_t epicsAtomicAddSizeT(size_t *pTarget, size_t delta)
EPICS_ATOMIC_INLINE int epicsAtomicAddIntT(int *pTarget, int delta)
EPICS_ATOMIC_INLINE void epicsAtomicSetPtrT(EpicsAtomicPtrT *pTarget, EpicsAtomicPtrT newVal)
#define EPICS_ATOMIC_INLINE
EPICS_ATOMIC_INLINE int epicsAtomicIncrIntT(int *pTarget)
EPICS_ATOMIC_INLINE int epicsAtomicDecrIntT(int *pTarget)
EPICS_ATOMIC_INLINE int epicsAtomicGetIntT(const int *pTarget)
void epicsAtomicLock(EpicsAtomicLockKey *)
EPICS_ATOMIC_INLINE size_t epicsAtomicDecrSizeT(size_t *pTarget)
EPICS_ATOMIC_INLINE void epicsAtomicWriteMemoryBarrier(void)
EPICS_ATOMIC_INLINE size_t epicsAtomicSubSizeT(size_t *pTarget, size_t delta)
void epicsAtomicUnlock(EpicsAtomicLockKey *)
EPICS_ATOMIC_INLINE EpicsAtomicPtrT epicsAtomicGetPtrT(const EpicsAtomicPtrT *pTarget)
EPICS_ATOMIC_INLINE void epicsAtomicSetIntT(int *pTarget, int newVal)