diff --git a/xtoskrnl/includes/ke/systime.hh b/xtoskrnl/includes/ke/systime.hh index a804331..abac170 100644 --- a/xtoskrnl/includes/ke/systime.hh +++ b/xtoskrnl/includes/ke/systime.hh @@ -25,6 +25,7 @@ namespace KE STATIC ULONG TimeAdjustment; public: + STATIC XTAPI VOID GetInterruptTime(OUT PLARGE_INTEGER InterruptTime); STATIC XTAPI VOID GetSystemTime(OUT PLARGE_INTEGER SystemTime); STATIC XTAPI VOID SetSystemTime(IN PLARGE_INTEGER NewTime, OUT PLARGE_INTEGER OldTime, diff --git a/xtoskrnl/ke/systime.cc b/xtoskrnl/ke/systime.cc index 8683619..55bae7f 100644 --- a/xtoskrnl/ke/systime.cc +++ b/xtoskrnl/ke/systime.cc @@ -9,6 +9,26 @@ #include +/** + * Returns the current interrupt time. + * + * @param SystemTime + * Supplies a pointer to a variable that receives the current interrupt time. + * + * @return This routine does not return any value. + * + * @since XT 1.0 + */ +XTAPI +VOID +KE::SystemTime::GetInterruptTime(OUT PLARGE_INTEGER InterruptTime) +{ + LARGE_INTEGER CurrentTime; + + /* Fetch the time using the lock-free shared data mechanism and return it */ + CurrentTime = KE::SharedData::GetInterruptTime(); + InterruptTime->QuadPart = CurrentTime.QuadPart; +} /** * Returns the current system time.