2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS TCP/IP protocol driver
5 * PURPOSE: Locking and unlocking
6 * PROGRAMMERS: Art Yerkes
12 KIRQL KernelIrql
= PASSIVE_LEVEL
;
14 KIRQL
TcpipGetCurrentIrql() { return KernelIrql
; }
16 VOID
TcpipInitializeSpinLock( PKSPIN_LOCK SpinLock
) {
19 VOID
TcpipAcquireSpinLock( PKSPIN_LOCK SpinLock
, PKIRQL Irql
) {
21 KernelIrql
= DISPATCH_LEVEL
;
24 VOID
TcpipAcquireSpinLockAtDpcLevel( PKSPIN_LOCK SpinLock
) {
25 ASSERT(KernelIrql
== DISPATCH_LEVEL
);
28 VOID
TcpipReleaseSpinLock( PKSPIN_LOCK SpinLock
, KIRQL Irql
) {
29 ASSERT( Irql
<= KernelIrql
);
33 VOID
TcpipReleaseSpinLockFromDpcLevel( PKSPIN_LOCK SpinLock
) {
34 ASSERT(KernelIrql
== DISPATCH_LEVEL
);
37 VOID
TcpipInterlockedInsertTailList( PLIST_ENTRY ListHead
,
40 InsertTailList( ListHead
, Item
);
43 VOID
TcpipAcquireFastMutex( PFAST_MUTEX Mutex
) {
46 VOID
TcpipReleaseFastMutex( PFAST_MUTEX Mutex
) {