Mercurial > projects > dstep
view dstep/coreservices/carboncore/Timer.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.Timer; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.ConditionalMacros; import dstep.coreservices.carboncore.MacTypes; import dstep.coreservices.carboncore.OSUtils; alias TMTask* TMTaskPtr; alias TimerProcPtr TimerUPP; extern (C) { alias void function (TMTaskPtr) TimerProcPtr; } enum { kTMTaskActive = (1L << 15) } struct TMTask { QElemPtr qLink; short qType; TimerUPP tmAddr; int tmCount; int tmWakeUp; int tmReserved; } extern (C) { void Microseconds (UnsignedWide* microTickCount); void InsTime (QElemPtr tmTaskPtr); void InsXTime (QElemPtr tmTaskPtr); void PrimeTime (QElemPtr tmTaskPtr, int count); void RmvTime (QElemPtr tmTaskPtr); short InstallTimeTask (QElemPtr tmTaskPtr); short InstallXTimeTask (QElemPtr tmTaskPtr); short PrimeTimeTask (QElemPtr tmTaskPtr, int count); short RemoveTimeTask (QElemPtr tmTaskPtr); TimerUPP NewTimerUPP (TimerProcPtr userRoutine); void DisposeTimerUPP (TimerUPP userUPP); void InvokeTimerUPP (TMTaskPtr tmTaskPtr, TimerUPP userUPP); }