This is Unofficial EPICS BASE Doxygen Site
epicsAtomicOSD.h
Go to the documentation of this file.
1 
2 /*************************************************************************\
3 * Copyright (c) 2011 LANS LLC, as Operator of
4 * Los Alamos National Laboratory.
5 * Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne
6 * National Laboratory.
7 * EPICS BASE is distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
10 
11 /*
12  * Author Jeffrey O. Hill
13  * johill@lanl.gov
14  */
15 
16 #ifndef epicsAtomicOSD_h
17 #define epicsAtomicOSD_h
18 
19 #include <libComAPI.h>
20 
21 #define EPICS_ATOMIC_OS_NAME "POSIX"
22 
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* __cplusplus */
28 
29 LIBCOM_API void epicsAtomicLock ( struct EpicsAtomicLockKey * );
30 LIBCOM_API void epicsAtomicUnlock ( struct EpicsAtomicLockKey * );
31 LIBCOM_API void epicsAtomicMemoryBarrierFallback ( void );
32 
33 #ifndef EPICS_ATOMIC_READ_MEMORY_BARRIER
35 {
37 }
38 #endif
39 
40 #ifndef EPICS_ATOMIC_READ_MEMORY_BARRIER
42 {
44 }
45 #endif
46 
47 #ifdef __cplusplus
48 } /* end of extern "C" */
49 #endif /* __cplusplus */
50 
51 #include "epicsAtomicDefault.h"
52 
53 #endif /* epicsAtomicOSD_h */
54 
struct EpicsAtomicLockKey EpicsAtomicLockKey
LIBCOM_API void epicsAtomicLock(struct EpicsAtomicLockKey *)
#define EPICS_ATOMIC_INLINE
Definition: epicsAtomic.h:22
EPICS_ATOMIC_INLINE void epicsAtomicWriteMemoryBarrier(void)
LIBCOM_API void epicsAtomicUnlock(struct EpicsAtomicLockKey *)
LIBCOM_API void epicsAtomicMemoryBarrierFallback(void)
EPICS_ATOMIC_INLINE void epicsAtomicReadMemoryBarrier(void)