Ricardo Filipe : hal: Add stubs for ExAcquireFastMutex and ExReleaseFastMutex.

Alexandre Julliard julliard at winehq.org
Thu Dec 11 07:51:01 CST 2008


Module: wine
Branch: master
Commit: bad677d58ac6a5ce1d7b448522527405aba11289
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=bad677d58ac6a5ce1d7b448522527405aba11289

Author: Ricardo Filipe <ricardo_barbano at hotmail.com>
Date:   Tue Dec  9 03:19:34 2008 +0000

hal: Add stubs for ExAcquireFastMutex and ExReleaseFastMutex.

---

 dlls/hal/hal.c    |   20 ++++++++++++++++++++
 dlls/hal/hal.spec |    4 ++--
 include/ddk/wdm.h |    9 +++++++++
 3 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/dlls/hal/hal.c b/dlls/hal/hal.c
index 6390edf..5fce05e 100644
--- a/dlls/hal/hal.c
+++ b/dlls/hal/hal.c
@@ -54,6 +54,26 @@ WINE_DEFAULT_DEBUG_CHANNEL(ntoskrnl);
 
 
 #ifdef DEFINE_FASTCALL1_ENTRYPOINT
+DEFINE_FASTCALL1_ENTRYPOINT( ExAcquireFastMutex )
+VOID __regs_ExAcquireFastMutex(PFAST_MUTEX FastMutex)
+#else
+VOID ExAcquireFastMutex(PFAST_MUTEX FastMutex)
+#endif
+{
+    FIXME("%p: stub\n", FastMutex);
+}
+
+#ifdef DEFINE_FASTCALL1_ENTRYPOINT
+DEFINE_FASTCALL1_ENTRYPOINT( ExReleaseFastMutex )
+VOID __regs_ExReleaseFastMutex(PFAST_MUTEX FastMutex)
+#else
+VOID ExReleaseFastMutex(PFAST_MUTEX FastMutex)
+#endif
+{
+    FIXME("%p: stub\n", FastMutex);
+}
+
+#ifdef DEFINE_FASTCALL1_ENTRYPOINT
 DEFINE_FASTCALL1_ENTRYPOINT( KfAcquireSpinLock )
 KIRQL WINAPI __regs_KfAcquireSpinLock(PKSPIN_LOCK SpinLock)
 #else
diff --git a/dlls/hal/hal.spec b/dlls/hal/hal.spec
index 5afbee0..83eedea 100644
--- a/dlls/hal/hal.spec
+++ b/dlls/hal/hal.spec
@@ -1,5 +1,5 @@
-@ stub ExAcquireFastMutex
-@ stub ExReleaseFastMutex
+@ stdcall -norelay ExAcquireFastMutex(ptr)
+@ stdcall -norelay ExReleaseFastMutex(ptr)
 @ stub ExTryToAcquireFastMutex
 @ stub HalClearSoftwareInterrupt
 @ stub HalRequestSoftwareInterrupt
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 3e4528b..efc3f6a 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -132,6 +132,15 @@ typedef struct _IO_WORKITEM *PIO_WORKITEM;
 typedef struct _OBJECT_TYPE *POBJECT_TYPE;
 typedef struct _OBJECT_HANDLE_INFORMATION *POBJECT_HANDLE_INFORMATION;
 
+typedef struct _FAST_MUTEX
+{
+    LONG Count;
+    PKTHREAD Owner;
+    ULONG Contention;
+    KEVENT Gate;
+    ULONG OldIrql;
+} FAST_MUTEX, *PFAST_MUTEX;
+
 #define MAXIMUM_VOLUME_LABEL_LENGTH       (32 * sizeof(WCHAR))
 
 typedef struct _VPB {




More information about the wine-cvs mailing list