ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

fmutex.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.