Mercurial > projects > dstep
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coreservices/carboncore/Timer.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,51 @@ +/** + * 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); +} \ No newline at end of file