diff dstep/coreservices/carboncore/DriverSynchronization.d @ 11:07194b026fa4

Added bindings to a couple of frameworks, new license + some other things
author Jacob Carlborg <doob@me.com>
date Sat, 01 Aug 2009 15:03:28 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dstep/coreservices/carboncore/DriverSynchronization.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,36 @@
+/**
+ * Copyright: Copyright (c) 2009 Jacob Carlborg.
+ * Authors: Jacob Carlborg
+ * Version: Initial created: Jul 21, 2009 
+ * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
+ */
+module dstep.coreservices.carboncore.DriverSynchronization;
+
+//import dstep.AvailabilityMacros;
+import dstep.coreservices.carboncore.ConditionalMacros;
+import dstep.coreservices.carboncore.MacTypes;
+
+extern (C)
+{
+	ubyte CompareAndSwap (uint oldValue, uint newValue, UInt32* address);
+	ubyte TestAndClear (uint bit, char* address);
+	ubyte TestAndSet (uint bit, char* address);
+	byte IncrementAtomic8 (char* address);
+	byte DecrementAtomic8 (char* address);
+	byte AddAtomic8 (int amount, char* address);
+	ubyte BitAndAtomic8 (uint mask, char* address);
+	ubyte BitOrAtomic8 (uint mask, char* address);
+	ubyte BitXorAtomic8 (uint mask, char* address);
+	short IncrementAtomic16 (SInt16* address);
+	short DecrementAtomic16 (SInt16* address);
+	short AddAtomic16 (int amount, SInt16* address);
+	ushort BitAndAtomic16 (uint mask, UInt16* address);
+	ushort BitOrAtomic16 (uint mask, UInt16* address);
+	ushort BitXorAtomic16 (uint mask, UInt16* address);
+	int IncrementAtomic (SInt32* address);
+	int DecrementAtomic (SInt32* address);
+	int AddAtomic (int amount, SInt32* address);
+	uint BitAndAtomic (uint mask, UInt32* address);
+	uint BitOrAtomic (uint mask, UInt32* address);
+	uint BitXorAtomic (uint mask, UInt32* address);
+}
\ No newline at end of file