Module: wine Branch: master Commit: bbed1bdd47e83e43d50005b6ff06f8a77f6b42f4 URL: https://source.winehq.org/git/wine.git/?a=commit;h=bbed1bdd47e83e43d50005b6f...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Nov 27 19:43:04 2018 -0600
ntoskrnl.exe: Implement KeInitializeTimerEx().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntoskrnl.exe/ntoskrnl.c | 21 --------------------- dlls/ntoskrnl.exe/sync.c | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 712681e..be63740 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2285,27 +2285,6 @@ void WINAPI KeInitializeSpinLock( PKSPIN_LOCK SpinLock ) FIXME( "stub: %p\n", SpinLock ); }
- -/*********************************************************************** - * KeInitializeTimerEx (NTOSKRNL.EXE.@) - */ -void WINAPI KeInitializeTimerEx( PKTIMER Timer, TIMER_TYPE Type ) -{ - FIXME( "stub: %p %d\n", Timer, Type ); - - RtlZeroMemory(Timer, sizeof(KTIMER)); - Timer->Header.Type = Type ? 9 : 8; -} - - -/*********************************************************************** - * KeInitializeTimer (NTOSKRNL.EXE.@) - */ -void WINAPI KeInitializeTimer( PKTIMER Timer ) -{ - KeInitializeTimerEx(Timer, NotificationTimer); -} - /*********************************************************************** * KeInsertQueue (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c index e63c793..910572b 100644 --- a/dlls/ntoskrnl.exe/sync.c +++ b/dlls/ntoskrnl.exe/sync.c @@ -38,6 +38,8 @@ enum object_type TYPE_AUTO_EVENT = 1, TYPE_MUTEX = 2, TYPE_SEMAPHORE = 5, + TYPE_MANUAL_TIMER = 8, + TYPE_AUTO_TIMER = 9, };
static CRITICAL_SECTION sync_cs; @@ -292,3 +294,26 @@ LONG WINAPI KeReleaseMutex( PRKMUTEX mutex, BOOLEAN wait )
return ret; } + +/*********************************************************************** + * KeInitializeTimerEx (NTOSKRNL.EXE.@) + */ +void WINAPI KeInitializeTimerEx( KTIMER *timer, TIMER_TYPE type ) +{ + TRACE("timer %p, type %u.\n", timer, type); + + RtlZeroMemory(timer, sizeof(KTIMER)); + timer->Header.Type = (type == NotificationTimer) ? TYPE_MANUAL_TIMER : TYPE_AUTO_TIMER; + timer->Header.SignalState = FALSE; + timer->Header.Inserted = FALSE; + timer->Header.WaitListHead.Blink = NULL; + timer->Header.WaitListHead.Flink = NULL; +} + +/*********************************************************************** + * KeInitializeTimer (NTOSKRNL.EXE.@) + */ +void WINAPI KeInitializeTimer( KTIMER *timer ) +{ + KeInitializeTimerEx(timer, NotificationTimer); +}