ReactOS 0.4.15-dev-7924-g5949c20
fmutex.c
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Kernel
4 * FILE: ntoskrnl/ex/fmutex.c
5 * PURPOSE: Implements fast mutexes
6 * PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
7 */
8
9/* INCLUDES *****************************************************************/
10
11#include <ntoskrnl.h>
12#define NDEBUG
13#include <debug.h>
14
15/* Undefine some macros we implement here */
16#undef ExEnterCriticalRegionAndAcquireFastMutexUnsafe
17#undef ExReleaseFastMutexUnsafeAndLeaveCriticalRegion
18#undef ExAcquireFastMutex
19#undef ExReleaseFastMutex
20#undef ExAcquireFastMutexUnsafe
21#undef ExReleaseFastMutexUnsafe
22#undef ExTryToAcquireFastMutex
23
24/* PUBLIC FUNCTIONS **********************************************************/
25
26/*
27 * @implemented
28 */
29VOID
32{
33 /* Call the inline */
35}
36
37/*
38 * @implemented
39 */
40VOID
43{
44 /* Call the inline */
46}
47
48/*
49 * @implemented
50 */
51VOID
54{
55 /* Call the inline */
56 _ExAcquireFastMutex(FastMutex);
57}
58
59/*
60 * @implemented
61 */
62VOID
65{
66 /* Call the inline */
67 _ExReleaseFastMutex(FastMutex);
68}
69
70/*
71 * @implemented
72 */
73VOID
76{
77 /* Acquire the mutex unsafely */
79}
80
81/*
82 * @implemented
83 */
84VOID
87{
88 /* Release the mutex unsafely */
90}
91
92/*
93 * @implemented
94 */
98{
99 /* Call the inline */
100 return _ExTryToAcquireFastMutex(FastMutex);
101}
102
103/* EOF */
unsigned char BOOLEAN
FORCEINLINE VOID _ExReleaseFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
Definition: ex.h:1354
FORCEINLINE VOID _ExReleaseFastMutex(IN OUT PFAST_MUTEX FastMutex)
Definition: ex.h:1397
FORCEINLINE VOID _ExAcquireFastMutexUnsafe(IN PFAST_MUTEX FastMutex)
Definition: ex.h:1330
FORCEINLINE VOID _ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(IN OUT PFAST_MUTEX FastMutex)
Definition: ex.h:1457
FORCEINLINE BOOLEAN _ExTryToAcquireFastMutex(IN OUT PFAST_MUTEX FastMutex)
Definition: ex.h:1419
FORCEINLINE VOID _ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: ex.h:1375
FORCEINLINE VOID _ExEnterCriticalRegionAndAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
Definition: ex.h:1446
VOID FASTCALL ExAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:23
VOID FASTCALL ExReleaseFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
BOOLEAN FASTCALL ExTryToAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: fmutex.c:39
#define FASTCALL
Definition: nt_native.h:50
VOID FASTCALL ExEnterCriticalRegionAndAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
Definition: fmutex.c:31
VOID FASTCALL ExReleaseFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
Definition: fmutex.c:86
VOID FASTCALL ExAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex)
Definition: fmutex.c:75
VOID FASTCALL ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(IN OUT PFAST_MUTEX FastMutex)
Definition: fmutex.c:42
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
* PFAST_MUTEX
Definition: extypes.h:17