/*++ Copyright (c) 1998 Microsoft Corporation Module Name: reqext.h Abstract: This file contains all declarations used in handling NBF requests. Author: Chaitanya Kodeboyina Environment: User Mode --*/ #ifndef __REQEXT_H #define __REQEXT_H // // Macros // #ifndef FIELD_OFFSET #define FIELD_OFFSET(type, field) ((LONG)&(((type *)0)->field)) #endif//FIELD_OFFSET #define OFFSET(field) FIELD_OFFSET(TP_REQUEST, field) // // Helper Prototypes // UINT ReadRequest(PTP_REQUEST pReq, ULONG proxyPtr); UINT PrintRequest(PTP_REQUEST pReq, ULONG proxyPtr, ULONG printDetail); UINT FreeRequest(PTP_REQUEST pReq); VOID PrintRequestList(PVOID ListEntryPointer, ULONG ListEntryProxy, ULONG printDetail); // // Constants // StructAccessInfo RequestInfo = { "Request", { { "IoRequestPacket", OFFSET(IoRequestPacket), sizeof(PIRP), NULL, LOW }, { "Owner", OFFSET(Owner), sizeof(REQUEST_OWNER), NULL, LOW }, { "Context", OFFSET(Context), sizeof(PVOID), NULL, LOW }, { "Type", OFFSET(Type), sizeof(CSHORT), NULL, LOW }, { "Size", OFFSET(Size), sizeof(USHORT), NULL, LOW }, { "Linkage", OFFSET(Linkage), sizeof(LIST_ENTRY), NULL, LOW }, { "ReferenceCount", OFFSET(ReferenceCount), sizeof(ULONG), NULL, LOW }, #if DBG { "RefTypes", OFFSET(RefTypes), NUMBER_OF_RREFS*sizeof(ULONG), NULL, LOW }, #endif { "SpinLock", OFFSET(SpinLock), sizeof(KSPIN_LOCK), NULL, LOW }, { "Flags", OFFSET(Flags), sizeof(ULONG), NULL, LOW }, { "DeviceContext", OFFSET(Provider), sizeof(PDEVICE_CONTEXT),NULL, LOW }, { "", 0, 0, NULL, LOW }, 0 } }; #endif // __REQEXT_H