This is Unofficial EPICS BASE Doxygen Site
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
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
#define EPICS_ATOMIC_OS_NAME "WIN32"
20
21
#ifdef VC_EXTRALEAN
22
# define VC_EXTRALEAN_DETECTED_epicsAtomicOSD_h
23
#else
24
# define VC_EXTRALEAN
25
#endif
26
27
#ifdef STRICT
28
# define STRICT_DETECTED_epicsAtomicOSD_h
29
#else
30
# define STRICT
31
#endif
32
33
#include "windows.h"
34
35
#ifndef VC_EXTRALEAN_DETECTED_epicsAtomicOSD_h
36
# undef VC_EXTRALEAN
37
#endif
38
39
#ifndef STRICT_DETECTED_epicsAtomicOSD_h
40
# undef STRICT
41
#endif
42
43
#if defined ( _WIN64 )
44
# define MS_ATOMIC_64
45
#endif
46
47
#define MS_LONG LONG
48
#define MS_InterlockedExchange InterlockedExchange
49
#define MS_InterlockedCompareExchange InterlockedCompareExchange
50
#define MS_InterlockedIncrement InterlockedIncrement
51
#define MS_InterlockedDecrement InterlockedDecrement
52
#define MS_InterlockedExchange InterlockedExchange
53
#define MS_InterlockedExchangeAdd InterlockedExchangeAdd
54
#if defined ( MS_ATOMIC_64 )
55
# define MS_LONGLONG LONGLONG
56
# define MS_InterlockedIncrement64 InterlockedIncrement64
57
# define MS_InterlockedDecrement64 InterlockedDecrement64
58
# define MS_InterlockedExchange64 InterlockedExchange64
59
# define MS_InterlockedExchangeAdd64 InterlockedExchangeAdd64
60
# define MS_InterlockedCompareExchange64 InterlockedCompareExchange64
61
#endif
62
63
#include "
epicsAtomicMS.h
"
64
#include "
epicsAtomicDefault.h
"
65
66
#endif
/* epicsAtomicOSD_h */
67
epicsAtomicMS.h
epicsAtomicDefault.h
modules
libcom
src
osi
os
WIN32
epicsAtomicOSD.h
Generated by
1.8.11