X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Ftimers.h;h=c43c4016e4c70a9adce75ed91e2540ea71afdbee;hb=f48e29379bd57e2d361cbc65477be120da47e874;hp=22dd5c6adffb277cbd4f4713dca0a9139ee8444c;hpb=51ab5f489bc356940c95cc936fd0508e8f07ea97;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/timers.h b/KernelLand/Kernel/include/timers.h index 22dd5c6a..c43c4016 100644 --- a/KernelLand/Kernel/include/timers.h +++ b/KernelLand/Kernel/include/timers.h @@ -25,11 +25,34 @@ typedef void (tTimerCallback)(void *); * \param Callback Function to call each time * \param Argument Argument to pass to the callback */ -extern tTimer *Time_CreateTimer(int Delta, tTimerCallback *Callback, void *Argument); +extern tTimer *Time_CreateTimer(int Delta, tTimerCallback *Callback, void *Argument) DEPRECATED; + +/** + * \brief Allocate (but don't schedule) a timer object + * \param Callback Function to call (if NULL, EVENT_TIMER is delivered to the current thread) + * \param Argument Argument passed to \a Callback (ignored if \a Callback is NULL) + * \return New timer pointer + */ +extern tTimer *Time_AllocateTimer(tTimerCallback *Callback, void *Argument); + +/** + * \brief Free an allocated timer object + * \param Timer Object pointer returned by Time_AllocateTimer + */ +extern void Time_FreeTimer(tTimer *Timer); + +/** + * \brief Schedules a timer to fire in \a Delta ms + * \param Timer Timer object returned by Time_AllocateTimer + * \param Delta Time until timer fires (in milliseconds) + */ +extern void Time_ScheduleTimer(tTimer *Timer, int Delta); + /** * \brief Removed an active timer */ extern void Time_RemoveTimer(tTimer *Timer); + /** * \brief Wait for a period of milliseconds */