|
|
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
conext.h
Abstract:
This file contains all declarations used in handling NBF connections.
Author:
Chaitanya Kodeboyina
Environment:
User Mode
--*/ #ifndef __CONEXT_H
#define __CONEXT_H
//
// Constants
//
// Linkage Type
#define LINKAGE 0
#define ADDRESS 1
#define ADDFILE 2
//
// Macros
//
#ifndef FIELD_OFFSET
#define FIELD_OFFSET(type, field) ((LONG)&(((type *)0)->field))
#endif//FIELD_OFFSET
#define OFFSET(field) FIELD_OFFSET(TP_CONNECTION, field)
//
// Helper Prototypes
//
UINT ReadConnection(PTP_CONNECTION pConnection, ULONG proxyPtr);
UINT PrintConnection(PTP_CONNECTION pConnection, ULONG proxyPtr, ULONG printDetail);
UINT FreeConnection(PTP_CONNECTION pConnection);
VOID PrintConnectionListOnAddress(PVOID ListEntryPointer, ULONG ListEntryProxy, ULONG printDetail);
VOID PrintConnectionListOnAddrFile(PVOID ListEntryPointer, ULONG ListEntryProxy, ULONG printDetail);
//
// Constants
//
StructAccessInfo ConnectionInfo = { "Connection",
{ { "Type", OFFSET(Type), sizeof(CSHORT), NULL, LOW }, { "Size", OFFSET(Size), sizeof(USHORT), NULL, LOW }, { "ReferenceCount", OFFSET(ReferenceCount), sizeof(ULONG), NULL, LOW },
{ "SpecialRefCount", OFFSET(SpecialRefCount),sizeof(ULONG), NULL, LOW },
#if DBG
{ "RefTypes", OFFSET(RefTypes), NUMBER_OF_CREFS*sizeof(ULONG), NULL, LOW }, #endif
{ "Flags", OFFSET(Flags), sizeof(ULONG), NULL, NOR },
{ "Flags2", OFFSET(Flags2), sizeof(ULONG), NULL, NOR },
{ "Link", OFFSET(Link), sizeof(PTP_LINK), PrintDlcLinkFromPtr , NOR },
{ "AddressFile", OFFSET(AddressFile), sizeof(PTP_ADDRESS_FILE), NULL, LOW },
{ "Device Context", OFFSET(Provider), sizeof(PDEVICE_CONTEXT),NULL, LOW },
{ "@", 0, 0, NULL, LOW },
{ "FileObject", OFFSET(FileObject), sizeof(PFILE_OBJECT), NULL, NOR },
{ "@", 0, 0, NULL, LOW },
{ "Context", OFFSET(Context), sizeof(CONNECTION_CONTEXT), NULL, LOW },
{ "ConnectionId", OFFSET(ConnectionId), sizeof(USHORT), NULL, LOW },
{ "SessionNumber",OFFSET(SessionNumber), sizeof(UCHAR), NULL, LOW },
{ "CalledAddress", OFFSET(CalledAddress), sizeof(NBF_NETBIOS_ADDRESS), PrintNbfNetbiosAddress, LOW },
{ "RemoteName", OFFSET(RemoteName), sizeof(CHAR *), PrintStringofLenN, LOW },
{ "InProgressRequest", OFFSET(InProgressRequest), sizeof(LIST_ENTRY), PrintRequestList, LOW }, { "ConsecutiveReceives", OFFSET(ConsecutiveReceives), sizeof(ULONG), NULL, LOW }, { "IndicationInProgress", OFFSET(IndicationInProgress), sizeof(UINT), NULL, LOW },
{ "SpecialReceiveIrp", OFFSET(SpecialReceiveIrp), sizeof(PIRP), NULL, LOW },
{ "CurrentReceiveIrp", OFFSET(CurrentReceiveIrp), sizeof(PIRP), NULL, LOW },
{ "CurrentReceiveMdl", OFFSET(CurrentReceiveMdl), sizeof(PMDL), NULL, LOW },
{ "MessageBytesReceived", OFFSET(MessageBytesReceived), sizeof(ULONG), NULL, LOW },
{ "MessageBytesAcked", OFFSET(MessageBytesAcked), sizeof(ULONG), NULL, LOW },
{ "MessageInitAccepted", OFFSET(MessageInitAccepted), sizeof(ULONG), NULL, LOW },
{ "ReceiveByteOffset", OFFSET(ReceiveByteOffset), sizeof(ULONG), NULL, LOW },
{ "ReceiveLength", OFFSET(ReceiveLength), sizeof(ULONG), NULL, LOW },
{ "ReceiveBytesUnaccepted", OFFSET(ReceiveBytesUnaccepted), sizeof(ULONG), NULL, LOW },
{ "ReceiveQueue", OFFSET(ReceiveQueue), sizeof(LIST_ENTRY), NULL, LOW },
{ "@", 0, 0, NULL, LOW }, { "ConsecutiveSends", OFFSET(ConsecutiveSends), sizeof(ULONG), NULL, LOW },
{ "OnPacketWaitQueue", OFFSET(OnPacketWaitQueue), sizeof(UINT), NULL, LOW },
{ "PacketWaitLinkage", OFFSET(PacketWaitLinkage), sizeof(LIST_ENTRY), NULL, LOW },
{ "CloseIrp", OFFSET(CloseIrp), sizeof(PIRP), NULL, LOW },
{ "@", 0, 0, NULL, LOW },
#if PKT_LOG
{ "LastNRecvs", OFFSET(LastNRecvs), sizeof(PKT_LOG_QUE), PrintPktLogQue, LOW },
{ "LastNSends", OFFSET(LastNSends), sizeof(PKT_LOG_QUE), PrintPktLogQue, LOW }, { "LastNIndcs", OFFSET(LastNIndcs), sizeof(PKT_IND_QUE), PrintPktIndQue, LOW }, #endif
{ "", 0, 0, NULL, LOW },
0 } };
#endif // __CONEXT_H
|