Mercurial > projects > dstep
view 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 source
/** * 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); }