141 lines
2.0 KiB
C
141 lines
2.0 KiB
C
/*++
|
|
|
|
Copyright (c) 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
hashirp.h
|
|
|
|
Abstract:
|
|
|
|
Author:
|
|
|
|
Adrian J. Oney (adriao) 20-Apr-1998
|
|
|
|
Revision History:
|
|
|
|
|
|
*/
|
|
|
|
|
|
#ifndef _HASHIRP_H_
|
|
#define _HASHIRP_H_
|
|
|
|
#define IRP_TRACKING_HASH_SIZE 256
|
|
#define IRP_TRACKING_HASH_PRIME 131
|
|
|
|
#ifndef NO_SPECIAL_IRP
|
|
|
|
extern ULONG IovpIrpTrackingSpewLevel;
|
|
|
|
typedef enum _IOV_REFERENCE_TYPE {
|
|
|
|
IOVREFTYPE_PACKET = 0,
|
|
IOVREFTYPE_POINTER
|
|
|
|
} IOV_REFERENCE_TYPE;
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpTrackingDataInit(
|
|
VOID
|
|
);
|
|
|
|
PIOV_REQUEST_PACKET
|
|
FASTCALL
|
|
IovpTrackingDataFindAndLock(
|
|
IN PIRP Irp
|
|
);
|
|
|
|
PIOV_REQUEST_PACKET
|
|
FASTCALL
|
|
IovpTrackingDataCreateAndLock(
|
|
IN PIRP Irp
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpTrackingDataFree(
|
|
IN PIOV_REQUEST_PACKET IrpTrackingData
|
|
);
|
|
|
|
PIOV_REQUEST_PACKET
|
|
FASTCALL
|
|
IovpTrackingDataFindPointer(
|
|
IN PIRP Irp,
|
|
OUT PLIST_ENTRY *HashHead
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpTrackingDataAcquireLock(
|
|
IN PIOV_REQUEST_PACKET IrpTrackingData
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpTrackingDataReleaseLock(
|
|
IN PIOV_REQUEST_PACKET IrpTrackingData
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpTrackingDataReference(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN IOV_REFERENCE_TYPE IovRefType
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpTrackingDataDereference(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN IOV_REFERENCE_TYPE IovRefType
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpWatermarkIrp(
|
|
IN PIRP Irp,
|
|
IN ULONG Flags
|
|
);
|
|
|
|
PIOV_SESSION_DATA
|
|
FASTCALL
|
|
IovpTrackingDataGetCurrentSessionData(
|
|
IN PIOV_REQUEST_PACKET IovPacket
|
|
);
|
|
|
|
PVOID
|
|
FASTCALL
|
|
IovpProtectedIrpMakeUntouchable(
|
|
IN PIRP Irp OPTIONAL,
|
|
IN BOOLEAN Permanent
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpProtectedIrpMakeTouchable(
|
|
IN PIRP Irp,
|
|
IN PVOID *RestoreHandle
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
IovpProtectedIrpFree(
|
|
IN PIRP Irp OPTIONAL,
|
|
IN PVOID *RestoreHandle
|
|
);
|
|
|
|
PIRP
|
|
FASTCALL
|
|
IovpProtectedIrpAllocate(
|
|
IN CCHAR StackSize,
|
|
IN BOOLEAN ChargeQuota,
|
|
IN PETHREAD QuotaThread OPTIONAL
|
|
);
|
|
|
|
#endif // NO_SPECIAL_IRP
|
|
|
|
#endif // _HASHIRP_H_
|
|
|