// Assembly: System.Core
// Full name: System.Threading.ReaderWriterLockSlim

namespace System.Threading
{
public class ReaderWriterLockSlim // TypeDefIndex: 10187
{
	// Fields
	type#15314 fIsReentrant;
	type#20868 myLock;
	type#27918 numWriteWaiters;
	type#27918 numReadWaiters;
	type#27918 numWriteUpgradeWaiters;
	type#27918 numUpgradeWaiters;
	type#15314 fNoWaiters;
	type#20868 upgradeLockOwnerId;
	type#20868 writeLockOwnerId;
	type#18075 writeEvent;
	type#18075 readEvent;
	type#18075 upgradeEvent;
	type#18075 waitUpgradeEvent;
	type#20905 s_nextLockID;
	type#20901 lockID;
	type#24997 t_rwc;
	type#15314 fUpgradeThreadHoldingRead;
	type#27918 owners;
	type#15314 fDisposed;

	// Methods
	// RVA: -1
	private type#28660 InitializeThreadCounts() { }
	// RVA: -1
	public type#28660 .ctor() { }
	// RVA: -1
	public type#28660 .ctor(type#22160 recursionPolicy) { }
	// RVA: -1
	private static type#15313 IsRWEntryEmpty(type#24995 rwc) { }
	// RVA: -1
	private type#15313 IsRwHashEntryChanged(type#24995 lrwc) { }
	// RVA: -1
	private type#24995 GetThreadRWCount(type#15313 dontAllocate) { }
	// RVA: -1
	public type#28660 EnterReadLock() { }
	// RVA: -1
	public type#15313 TryEnterReadLock(type#20867 millisecondsTimeout) { }
	// RVA: -1
	private type#15313 TryEnterReadLock(type#33160 timeout) { }
	// RVA: -1
	private type#15313 TryEnterReadLockCore(type#33160 timeout) { }
	// RVA: -1
	public type#28660 EnterWriteLock() { }
	// RVA: -1
	public type#15313 TryEnterWriteLock(type#20867 millisecondsTimeout) { }
	// RVA: -1
	private type#15313 TryEnterWriteLock(type#33160 timeout) { }
	// RVA: -1
	private type#15313 TryEnterWriteLockCore(type#33160 timeout) { }
	// RVA: -1
	public type#28660 EnterUpgradeableReadLock() { }
	// RVA: -1
	public type#15313 TryEnterUpgradeableReadLock(type#20867 millisecondsTimeout) { }
	// RVA: -1
	private type#15313 TryEnterUpgradeableReadLock(type#33160 timeout) { }
	// RVA: -1
	private type#15313 TryEnterUpgradeableReadLockCore(type#33160 timeout) { }
	// RVA: -1
	public type#28660 ExitReadLock() { }
	// RVA: -1
	public type#28660 ExitWriteLock() { }
	// RVA: -1
	public type#28660 ExitUpgradeableReadLock() { }
	// RVA: -1
	private type#28660 LazyCreateEvent(type#11868 waitEvent, type#15313 makeAutoResetEvent) { }
	// RVA: -1
	private type#15313 WaitOnEvent(type#18074 waitEvent, type#12197 numWaiters, type#33160 timeout, type#15313 isWriteWaiter) { }
	// RVA: -1
	private type#28660 ExitAndWakeUpAppropriateWaiters() { }
	// RVA: -1
	private type#28660 ExitAndWakeUpAppropriateWaitersPreferringWriters() { }
	// RVA: -1
	private type#28660 ExitAndWakeUpAppropriateReadWaiters() { }
	// RVA: -1
	private type#15313 IsWriterAcquired() { }
	// RVA: -1
	private type#28660 SetWriterAcquired() { }
	// RVA: -1
	private type#28660 ClearWriterAcquired() { }
	// RVA: -1
	private type#28660 SetWritersWaiting() { }
	// RVA: -1
	private type#28660 ClearWritersWaiting() { }
	// RVA: -1
	private type#28660 SetUpgraderWaiting() { }
	// RVA: -1
	private type#28660 ClearUpgraderWaiting() { }
	// RVA: -1
	private type#27917 GetNumReaders() { }
	// RVA: -1
	private type#28660 EnterMyLock() { }
	// RVA: -1
	private type#28660 EnterMyLockSpin() { }
	// RVA: -1
	private type#28660 ExitMyLock() { }
	// RVA: -1
	private static type#28660 SpinWait(type#20867 SpinCount) { }
	// RVA: -1
	public virtual type#28660 Dispose() { }
	// RVA: -1
	private type#28660 Dispose(type#15313 disposing) { }
	// RVA: -1
	public type#15313 get_IsReadLockHeld() { }
	// RVA: -1
	public type#15313 get_IsUpgradeableReadLockHeld() { }
	// RVA: -1
	public type#15313 get_IsWriteLockHeld() { }
	// RVA: -1
	public type#20867 get_RecursiveReadCount() { }
	// RVA: -1
	public type#20867 get_RecursiveUpgradeCount() { }
	// RVA: -1
	public type#20867 get_RecursiveWriteCount() { }
	// RVA: -1
	public type#20867 get_WaitingReadCount() { }
	// RVA: -1
	public type#20867 get_WaitingUpgradeCount() { }
	// RVA: -1
	public type#20867 get_WaitingWriteCount() { }
}
}
