ReactOS 0.4.15-dev-8028-g8e799e2
dldetect.h
Go to the documentation of this file.
1
2// Copyright (C) Alexander Telyatnikov, Ivan Keliukh, Yegor Anchishkin, SKIF Software, 1999-2013. Kiev, Ukraine
3// All rights reserved
4// This file was released under the GPLv2 on June 2015.
6/*
7
8Module Name:
9
10 DLDetect.h
11
12Abstract:
13
14 This file contains all defines and protos related to DeadLock Detector.
15
16Environment:
17
18 NT Kernel Mode
19*/
20
21#ifndef _DL_DETECT_H_
22#define _DL_DETECT_H_
23
24
25#define DLDAllocatePool(size) MyAllocatePool__(NonPagedPool,size)
26#define DLDFreePool(addr) MyFreePool__((addr))
27
28#define DLDGetCurrentResourceThread() \
29 ((ERESOURCE_THREAD)PsGetCurrentThread())
30
31#ifndef ResourceOwnedExclusive
32#define ResourceOwnedExclusive 0x80
33#endif
34#define ResourceDisableBoost 0x08
35
36
37VOID DLDInit(ULONG MaxThrdCount);
38
39
41 ULONG BugCheckId,
42 ULONG Line);
43
45 ULONG BugCheckId,
46 ULONG Line,
47 BOOLEAN WaitForExclusive);
48
50 ULONG BugCheckId,
51 ULONG Line);
52
54
55
57
58typedef struct _THREAD_STRUCT {
64
65
66typedef struct _THREAD_REC_BLOCK {
70
71#endif // _DL_DETECT_H_
unsigned char BOOLEAN
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
struct _THREAD_REC_BLOCK * PTHREAD_REC_BLOCK
struct _THREAD_STRUCT * PTHREAD_STRUCT
VOID DLDFree(VOID)
Definition: dldetect.cpp:64
struct _THREAD_STRUCT THREAD_STRUCT
struct _THREAD_REC_BLOCK THREAD_REC_BLOCK
VOID DLDAcquireShared(PERESOURCE Resource, ULONG BugCheckId, ULONG Line, BOOLEAN WaitForExclusive)
Definition: dldetect.cpp:398
VOID DLDAcquireSharedStarveExclusive(PERESOURCE Resource, ULONG BugCheckId, ULONG Line)
VOID DLDAcquireExclusive(PERESOURCE Resource, ULONG BugCheckId, ULONG Line)
Definition: dldetect.cpp:313
VOID DLDInit(ULONG MaxThrdCount)
Initialize deadlock detector.
Definition: dldetect.cpp:51
VOID DLDUnblock(PERESOURCE Resource)
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
Definition: ncftp.h:79
PTHREAD_STRUCT Thread
Definition: dldetect.h:67
PERESOURCE HoldingResource
Definition: dldetect.h:68
ULONG BugCheckId
Definition: dldetect.h:61
ERESOURCE_THREAD ThreadId
Definition: dldetect.h:59
ULONG Line
Definition: dldetect.h:62
PERESOURCE WaitingResource
Definition: dldetect.h:60
uint32_t ULONG
Definition: typedefs.h:59
ULONG_PTR ERESOURCE_THREAD
Definition: extypes.h:208