Files
exectos/xtoskrnl/includes/ke/systime.hh
Aiken Harris a3178e94bd
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in -59m27s
Builds / ExectOS (amd64, debug) (push) Successful in -59m25s
Builds / ExectOS (i686, release) (push) Successful in -59m28s
Builds / ExectOS (i686, debug) (push) Successful in -59m25s
Implement clock interrupt handling and time increment configuration
2026-05-06 19:32:00 +02:00

42 lines
1.4 KiB
C++

/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/includes/ke/systime.hh
* DESCRIPTION: Timebase and system clock support
* DEVELOPERS: Aiken Harris <harraiken91@gmail.com>
*/
#ifndef __XTOSKRNL_KE_SYSTIME_HH
#define __XTOSKRNL_KE_SYSTIME_HH
#include <xtos.hh>
/* Kernel Library */
namespace KE
{
class SystemTime
{
private:
STATIC LARGE_INTEGER BootTime;
STATIC ULONG MaximumIncrement;
STATIC ULONG MinimumIncrement;
STATIC LONG TickOffset;
STATIC ULONG TimeAdjustment;
public:
STATIC XTAPI VOID GetSystemTime(OUT PLARGE_INTEGER SystemTime);
STATIC XTAPI VOID SetSystemTime(IN PLARGE_INTEGER NewTime,
OUT PLARGE_INTEGER OldTime,
IN BOOLEAN AdjustInterruptTime,
IN BOOLEAN WriteToRtc);
STATIC XTAPI VOID SetTimeIncrement(IN ULONG MinIncrement,
IN ULONG MaxIncrement);
STATIC XTFASTCALL VOID UpdateSystemTime(IN PKTRAP_FRAME TrapFrame,
IN ULONG Increment,
IN KRUNLEVEL RunLevel);
};
}
#endif /* __XTOSKRNL_KE_SYSTIME_HH */