20#ifndef KERNEL_MACHINE_TIMER_H
21#define KERNEL_MACHINE_TIMER_H
23#include "pedigree/kernel/processor/types.h"
24#include "pedigree/kernel/time/Time.h"
79 virtual bool unregisterHandler(
TimerHandler* handler) = 0;
102 virtual void addAlarm(
class Event* pEvent,
size_t alarmSecs,
size_t alarmUsecs = 0) = 0;
virtual uint64_t getTickCountNanoFast()
virtual uint64_t getTickCount()=0
virtual bool supportsDeadlines() const
virtual void removeAlarm(class Event *pEvent)=0
virtual uint64_t getTickCountNano()
virtual uint8_t getDayOfWeek()=0
virtual void deadlineInterrupt()
Timer & operator=(const Timer &)
virtual Time::CpuTimeSample sampleCpuTime()
virtual uint64_t getNanosecond()=0
virtual uint8_t getHour()=0
virtual uint8_t getMinute()=0
virtual size_t getYear()=0
virtual void addAlarm(class Event *pEvent, size_t alarmSecs, size_t alarmUsecs=0)=0
virtual void synchronise(bool tohw=false)
Synchronises the timer with the hardware. Useful for updating the fields returned by get*,...
virtual uint8_t getDayOfMonth()=0
virtual Time::Timestamp getUnixTimestamp()
virtual uint8_t getMonth()=0
virtual uint8_t getSecond()=0
virtual size_t removeAlarm(class Event *pEvent, bool bRetZero)=0
virtual bool armHandler(TimerHandler *, uint64_t)