diff dstep/coreservices/carboncore/OSUtils.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/OSUtils.d	Sat Aug 01 15:03:28 2009 +0200
@@ -0,0 +1,125 @@
+/**
+ * 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.OSUtils;
+
+//import dstep.AvailabilityMacros;
+import dstep.coreservices.carboncore.DateTimeUtils;
+import dstep.coreservices.carboncore.MacMemory;
+import dstep.coreservices.carboncore.MacTypes;
+import dstep.coreservices.carboncore.MixedMode;
+import dstep.corefoundation.CFBase;
+import dstep.internal.Types;
+
+alias byte QTypes;
+alias QElem* QElemPtr;
+alias QHdr* QHdrPtr;
+alias void* SysPPtr;
+alias DeferredTaskProcPtr DeferredTaskUPP;
+alias DeferredTask* DeferredTaskPtr;
+
+extern (C)
+{
+	alias void function (int) DeferredTaskProcPtr;
+}
+
+enum
+{
+	sortsBefore = -1,
+	sortsEqual = 0,
+	sortsAfter = 1
+}
+
+enum
+{
+	dummyType = 0,
+	vType = 1,
+	ioQType = 2,
+	drvQType = 3,
+	evType = 4,
+	fsQType = 5,
+	sIQType = 6,
+	dtQType = 7,
+	nmType = 8
+}
+
+enum
+{
+	useFree = 0,
+	useATalk = 1,
+	useAsync = 2,
+	useExtClk = 3,
+	useMIDI = 4
+}
+
+enum
+{
+	false32b = 0,
+	true32b = 1
+}
+
+struct QElem
+{
+	QElem* qLink;
+	short qType;
+	short* qData;
+}
+
+
+struct QHdr
+{
+	short qFlags;
+	QElemPtr qHead;
+	QElemPtr qTail;
+}
+
+
+struct MachineLocation
+{
+	Fract latitude;
+	Fract longitude;
+	
+	union
+	{
+		version (BigEndian)
+			byte dlsDelta;
+		
+		c_long gmtDelta;
+		
+		struct
+		{
+			version (LittleEndian)
+				byte[3] pad;
+			
+			byte Delta;
+		}
+	}
+}
+
+struct DeferredTask
+{
+	short qLink;
+	short qType;
+	short dtFlags;
+	int dtAddr;
+	int dtParam;
+	c_long dtReserved;
+}
+
+extern (C)
+{
+	ubyte IsMetric ();
+	void Delay (c_ulong numTicks, c_ulong* finalTicks);
+	void Enqueue (QElemPtr qElement, QHdrPtr qHeader);
+	short Dequeue (QElemPtr qElement, QHdrPtr qHeader);
+	void ReadLocation (MachineLocation* loc);
+	uint TickCount ();
+	CFStringRef CSCopyUserName (ubyte useShortName);
+	CFStringRef CSCopyMachineName ();
+	DeferredTaskUPP NewDeferredTaskUPP (DeferredTaskProcPtr userRoutine);
+	void DisposeDeferredTaskUPP (DeferredTaskUPP userUPP);
+	void InvokeDeferredTaskUPP (int dtParam, DeferredTaskUPP userUPP);
+}
\ No newline at end of file