Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenfmutex.c
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS Kernel 00004 * FILE: ntoskrnl/ex/fmutex.c 00005 * PURPOSE: Implements fast mutexes 00006 * PROGRAMMERS: Alex Ionescu (alex@relsoft.net) 00007 */ 00008 00009 /* INCLUDES *****************************************************************/ 00010 00011 #include <ntoskrnl.h> 00012 #define NDEBUG 00013 #include <debug.h> 00014 00015 /* Undefine some macros we implement here */ 00016 #undef ExEnterCriticalRegionAndAcquireFastMutexUnsafe 00017 #undef ExReleaseFastMutexUnsafeAndLeaveCriticalRegion 00018 #undef ExAcquireFastMutex 00019 #undef ExReleaseFastMutex 00020 #undef ExAcquireFastMutexUnsafe 00021 #undef ExReleaseFastMutexUnsafe 00022 #undef ExTryToAcquireFastMutex 00023 00024 /* PUBLIC FUNCTIONS **********************************************************/ 00025 00026 /* 00027 * @implemented 00028 */ 00029 VOID 00030 FASTCALL 00031 ExEnterCriticalRegionAndAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex) 00032 { 00033 /* Call the inline */ 00034 _ExEnterCriticalRegionAndAcquireFastMutexUnsafe(FastMutex); 00035 } 00036 00037 /* 00038 * @implemented 00039 */ 00040 VOID 00041 FASTCALL 00042 ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(IN OUT PFAST_MUTEX FastMutex) 00043 { 00044 /* Call the inline */ 00045 _ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(FastMutex); 00046 } 00047 00048 /* 00049 * @implemented 00050 */ 00051 VOID 00052 FASTCALL 00053 ExAcquireFastMutex(IN OUT PFAST_MUTEX FastMutex) 00054 { 00055 /* Call the inline */ 00056 _ExAcquireFastMutex(FastMutex); 00057 } 00058 00059 /* 00060 * @implemented 00061 */ 00062 VOID 00063 FASTCALL 00064 ExReleaseFastMutex(IN OUT PFAST_MUTEX FastMutex) 00065 { 00066 /* Call the inline */ 00067 _ExReleaseFastMutex(FastMutex); 00068 } 00069 00070 /* 00071 * @implemented 00072 */ 00073 VOID 00074 FASTCALL 00075 ExAcquireFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex) 00076 { 00077 /* Acquire the mutex unsafely */ 00078 _ExAcquireFastMutexUnsafe(FastMutex); 00079 } 00080 00081 /* 00082 * @implemented 00083 */ 00084 VOID 00085 FASTCALL 00086 ExReleaseFastMutexUnsafe(IN OUT PFAST_MUTEX FastMutex) 00087 { 00088 /* Release the mutex unsafely */ 00089 _ExReleaseFastMutexUnsafe(FastMutex); 00090 } 00091 00092 /* 00093 * @implemented 00094 */ 00095 BOOLEAN 00096 FASTCALL 00097 ExTryToAcquireFastMutex(IN OUT PFAST_MUTEX FastMutex) 00098 { 00099 /* Call the inline */ 00100 return _ExTryToAcquireFastMutex(FastMutex); 00101 } 00102 00103 /* EOF */ Generated on Wed May 23 2012 04:26:31 for ReactOS by
1.7.6.1
|