90 lines
1.2 KiB
C
90 lines
1.2 KiB
C
/*++
|
|
|
|
Copyright (c) 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
vfpdlock.h
|
|
|
|
Abstract:
|
|
|
|
Detect deadlocks in arbitrary synchronization objects.
|
|
|
|
Author:
|
|
|
|
Jordan Tigani (jtigani) 2-May-2000
|
|
Silviu Calinoiu (silviuc) 9-May-2000
|
|
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
|
|
#ifndef _VFDLOCK_H_
|
|
#define _VFDLOCK_H_
|
|
|
|
|
|
VOID
|
|
VfDeadlockDetectionInitialize(
|
|
VOID
|
|
);
|
|
|
|
|
|
//
|
|
// Resource types supported by deadlock verifier.
|
|
//
|
|
|
|
typedef enum _VI_DEADLOCK_RESOURCE_TYPE {
|
|
ViDeadlockUnknown = 0,
|
|
ViDeadlockMutex,
|
|
ViDeadlockFastMutex,
|
|
ViDeadlockTypeMaximum
|
|
} VI_DEADLOCK_RESOURCE_TYPE, *PVI_DEADLOCK_RESOURCE_TYPE;
|
|
|
|
//
|
|
// Deadlock detection package initialization.
|
|
//
|
|
|
|
VOID
|
|
ViDeadlockDetectionInitialize(
|
|
);
|
|
|
|
//
|
|
// Resource interfaces
|
|
//
|
|
|
|
BOOLEAN
|
|
ViDeadlockAddResource(
|
|
IN PVOID Resource,
|
|
IN VI_DEADLOCK_RESOURCE_TYPE Type
|
|
);
|
|
|
|
BOOLEAN
|
|
ViDeadlockQueryAcquireResource(
|
|
IN PVOID Resource,
|
|
IN VI_DEADLOCK_RESOURCE_TYPE Type
|
|
);
|
|
VOID
|
|
ViDeadlockAcquireResource(
|
|
IN PVOID Resource,
|
|
IN VI_DEADLOCK_RESOURCE_TYPE Type
|
|
);
|
|
|
|
VOID
|
|
ViDeadlockReleaseResource(
|
|
IN PVOID Resource
|
|
);
|
|
|
|
//
|
|
// Used for resource garbage collection.
|
|
//
|
|
|
|
VOID
|
|
ViDeadlockDeleteMemoryRange(
|
|
IN PVOID Address,
|
|
IN SIZE_T Size
|
|
);
|
|
|
|
|
|
#endif |