Module: wine Branch: master Commit: bad677d58ac6a5ce1d7b448522527405aba11289 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bad677d58ac6a5ce1d7b448522...
Author: Ricardo Filipe ricardo_barbano@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 {