MS defines most of those in the wdk, if NO_INTERLOCKED_INTRINSICS is not defined
+#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrement16 _InterlockedDecrement16 +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrement16 _InterlockedIncrement16 +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchange16 _InterlockedCompareExchange16 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd
Hmm, ARM people added those initially, I just added more of them for completeness (I tried some test usage of interlocked functions in the kernel, and 16/64 versions were missing).
I will move them to an appropriate place then later.
WBR, Aleksey.
On Aug 6, 2008, at 5:17 PM, Timo Kreuzer wrote:
MS defines most of those in the wdk, if NO_INTERLOCKED_INTRINSICS is not defined
+#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrement16 _InterlockedDecrement16 +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrement16 _InterlockedIncrement16 +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchange16 _InterlockedCompareExchange16 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd