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