Gijs Vermeulen : ntoskrnl.exe: Add Ex[p]InterlockedFlushSList.

Alexandre Julliard julliard at winehq.org
Mon Apr 15 16:26:41 CDT 2019


Module: wine
Branch: master
Commit: 7d32c24c4ac2a68419608b26aa6de393dbbffd67
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7d32c24c4ac2a68419608b26aa6de393dbbffd67

Author: Gijs Vermeulen <gijsvrm at gmail.com>
Date:   Mon Apr 15 00:55:33 2019 +0200

ntoskrnl.exe: Add Ex[p]InterlockedFlushSList.

Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |  3 ++-
 dlls/ntoskrnl.exe/sync.c            | 10 ++++++++++
 include/ddk/wdm.h                   |  1 +
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index ab952e5..141c8aa 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -4,7 +4,7 @@
 @ stub ExInitializeRundownProtection
 @ stub ExInterlockedAddLargeStatistic
 @ stub ExInterlockedCompareExchange64
-@ stub ExInterlockedFlushSList
+@ stdcall -fastcall -arch=i386 ExInterlockedFlushSList(ptr) NTOSKRNL_ExInterlockedFlushSList
 @ stdcall -fastcall -arch=i386 ExInterlockedPopEntrySList(ptr ptr) NTOSKRNL_ExInterlockedPopEntrySList
 @ stdcall -fastcall -arch=i386 ExInterlockedPushEntrySList (ptr ptr ptr) NTOSKRNL_ExInterlockedPushEntrySList
 @ stub ExReInitializeRundownProtection
@@ -27,6 +27,7 @@
 @ stub Exfi386InterlockedDecrementLong
 @ stub Exfi386InterlockedExchangeUlong
 @ stub Exfi386InterlockedIncrementLong
+@ stdcall -arch=win64 ExpInterlockedFlushSList(ptr) RtlInterlockedFlushSList
 @ stdcall -arch=win64 ExpInterlockedPopEntrySList(ptr) RtlInterlockedPopEntrySList
 @ stdcall -arch=win64 ExpInterlockedPushEntrySList(ptr ptr) RtlInterlockedPushEntrySList
 @ stub HalExamineMBR
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index fbe9dbe..6976b9e 100644
--- a/dlls/ntoskrnl.exe/sync.c
+++ b/dlls/ntoskrnl.exe/sync.c
@@ -691,6 +691,16 @@ PSLIST_ENTRY WINAPI NTOSKRNL_ExInterlockedPushEntrySList( PSLIST_HEADER list, PS
 
 
 /***********************************************************************
+ *           ExInterlockedFlushSList   (NTOSKRNL.EXE.@)
+ */
+DEFINE_FASTCALL1_WRAPPER( NTOSKRNL_ExInterlockedFlushSList )
+PSLIST_ENTRY WINAPI NTOSKRNL_ExInterlockedFlushSList( PSLIST_HEADER list )
+{
+    return RtlInterlockedFlushSList( list );
+}
+
+
+/***********************************************************************
  *           ExAcquireFastMutexUnsafe  (NTOSKRNL.EXE.@)
  */
 DEFINE_FASTCALL1_WRAPPER(ExAcquireFastMutexUnsafe)
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 0faf5ec..a66a582 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1528,6 +1528,7 @@ ULONG     WINAPI ExGetExclusiveWaiterCount(ERESOURCE*);
 ULONG     WINAPI ExGetSharedWaiterCount(ERESOURCE*);
 void      WINAPI ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST,PALLOCATE_FUNCTION,PFREE_FUNCTION,ULONG,SIZE_T,ULONG,USHORT);
 NTSTATUS  WINAPI ExInitializeResourceLite(ERESOURCE*);
+PSLIST_ENTRY WINAPI ExInterlockedFlushSList(PSLIST_HEADER);
 PSLIST_ENTRY WINAPI ExInterlockedPopEntrySList(PSLIST_HEADER,PKSPIN_LOCK);
 PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY,PKSPIN_LOCK);
 LIST_ENTRY * WINAPI ExInterlockedRemoveHeadList(LIST_ENTRY*,KSPIN_LOCK*);




More information about the wine-cvs mailing list