#define UVAL64(a) (a ## ul)
#endif
+void atomic_and(volatile uae_atomic *p, uae_u32 v);
+void atomic_or(volatile uae_atomic *p, uae_u32 v);
+uae_atomic atomic_inc(volatile uae_atomic *p);
+uae_atomic atomic_dec(volatile uae_atomic *p);
+uae_u32 atomic_bit_test_and_reset(volatile uae_atomic *p, uae_u32 v);
+
#ifdef HAVE_STRDUP
#define my_strdup _tcsdup
#else
}
}
+void atomic_and(volatile uae_atomic *p, uae_u32 v)
+{
+ _InterlockedAnd(p, v);
+}
+void atomic_or(volatile uae_atomic *p, uae_u32 v)
+{
+ _InterlockedOr(p, v);
+}
+void atomic_set(volatile uae_atomic *p, uae_u32 v)
+{
+}
+uae_atomic atomic_inc(volatile uae_atomic *p)
+{
+ return _InterlockedIncrement(p);
+}
+uae_atomic atomic_dec(volatile uae_atomic *p)
+{
+ return _InterlockedDecrement(p);
+}
+
+uae_u32 atomic_bit_test_and_reset(volatile uae_atomic *p, uae_u32 v)
+{
+ return _interlockedbittestandreset(p, v);
+}
#endif
+