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

rwlock.h
Go to the documentation of this file.
00001 #ifndef __CROSS_NT_RWLOCK__H__
00002 #define __CROSS_NT_RWLOCK__H__
00003 
00004 #ifndef MAXIMUM_PROCESSORS
00005 #define MAXIMUM_PROCESSORS  32
00006 #endif
00007 
00008 typedef union _NDIS_RW_LOCK_REFCOUNT {
00009     unsigned int                 RefCount;
00010     UCHAR                        cacheLine[16];    // One refCount per cache line
00011 } NDIS_RW_LOCK_REFCOUNT;
00012 
00013 typedef struct _NDIS_RW_LOCK {
00014     union  {
00015         struct {
00016             KSPIN_LOCK           SpinLock;
00017             PVOID                Context;
00018         };
00019         UCHAR                    Reserved[16];
00020     };
00021 
00022     NDIS_RW_LOCK_REFCOUNT        RefCount[MAXIMUM_PROCESSORS];
00023 } NDIS_RW_LOCK, *PNDIS_RW_LOCK;
00024 
00025 typedef struct _LOCK_STATE {
00026     USHORT     LockState;
00027     KIRQL      OldIrql;
00028 } LOCK_STATE, *PLOCK_STATE;
00029 
00030 #define RWLOCK_STATE_FREE             0
00031 #define RWLOCK_STATE_READ_ACQUIRED    1
00032 #define RWLOCK_STATE_WRITE_ACQUIRED   2
00033 #define RWLOCK_STATE_RECURSIVE        3
00034 #define RWLOCK_STATE_RELEASED         0xffff
00035 
00036 #define RWLOCK_FOR_WRITE              TRUE
00037 #define RWLOCK_FOR_READ               FALSE
00038 
00039 #endif // __CROSS_NT_RWLOCK__H__

Generated on Sat May 26 2012 04:26:58 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.