You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
207 lines
7.5 KiB
207 lines
7.5 KiB
/*++
|
|
|
|
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
|
|
|