mirror of https://github.com/lianthony/NT4.0
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.
369 lines
15 KiB
369 lines
15 KiB
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
netbtkd.c
|
|
|
|
Abstract:
|
|
|
|
Netbt Kernel Debugger extension
|
|
|
|
Author:
|
|
|
|
Shirish Koti
|
|
|
|
Revision History:
|
|
|
|
6-Jun-1991 Koti Created
|
|
|
|
--*/
|
|
|
|
#include "types.h"
|
|
|
|
#include <kdextlib.h>
|
|
|
|
/*
|
|
* RDR2 global variables.
|
|
*
|
|
*/
|
|
|
|
LPSTR GlobalBool[] = {0};
|
|
LPSTR GlobalShort[] = {0};
|
|
LPSTR GlobalLong[] = {0};
|
|
LPSTR GlobalPtrs[] = {0};
|
|
|
|
LPSTR Extensions[] = {
|
|
"Netbt debugger extensions",
|
|
0
|
|
};
|
|
|
|
/*
|
|
* DeviceContext debugging.
|
|
*
|
|
*/
|
|
|
|
FIELD_DESCRIPTOR DeviceContext[] =
|
|
{
|
|
FIELD3(FieldTypeStruct,tDEVICECONTEXT,DeviceObject),
|
|
FIELD3(FieldTypeListEntry,tDEVICECONTEXT,Linkage),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,SpinLock),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,Verify),
|
|
FIELD3(FieldTypeListEntry,tDEVICECONTEXT,UpConnectionInUse),
|
|
FIELD3(FieldTypeListEntry,tDEVICECONTEXT,LowerConnection),
|
|
FIELD3(FieldTypeListEntry,tDEVICECONTEXT,LowerConnFreeHead),
|
|
FIELD3(FieldTypeUnicodeString,tDEVICECONTEXT,BindName),
|
|
FIELD3(FieldTypeUnicodeString,tDEVICECONTEXT,ExportName),
|
|
FIELD3(FieldTypeIpAddr,tDEVICECONTEXT,IpAddress),
|
|
FIELD3(FieldTypeIpAddr,tDEVICECONTEXT,SubnetMask),
|
|
FIELD3(FieldTypeIpAddr,tDEVICECONTEXT,BroadcastAddress),
|
|
FIELD3(FieldTypeIpAddr,tDEVICECONTEXT,NetMask),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,hNameServer),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pNameServerDeviceObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pNameServerFileObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,hDgram),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pDgramDeviceObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pDgramFileObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,hSession),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pSessionDeviceObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pSessionFileObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,hControl),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pControlDeviceObject),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pControlFileObject),
|
|
FIELD3(FieldTypeIpAddr,tDEVICECONTEXT,lNameServerAddress),
|
|
FIELD3(FieldTypeIpAddr,tDEVICECONTEXT,lBackupServer),
|
|
FIELD3(FieldTypePointer,tDEVICECONTEXT,pPermClient),
|
|
FIELD3(FieldTypeULongULong,tDEVICECONTEXT,AdapterNumber),
|
|
FIELD3(FieldTypeMacAddr,tDEVICECONTEXT,MacAddress),
|
|
FIELD3(FieldTypeChar,tDEVICECONTEXT,LockNumber),
|
|
FIELD3(FieldTypeBoolean,tDEVICECONTEXT,RefreshToBackup),
|
|
FIELD3(FieldTypeBoolean,tDEVICECONTEXT,PointToPoint),
|
|
FIELD3(FieldTypeBoolean,tDEVICECONTEXT,WinsIsDown),
|
|
0
|
|
};
|
|
|
|
FIELD_DESCRIPTOR NameAddr[] =
|
|
{
|
|
FIELD3(FieldTypeListEntry,tNAMEADDR,Linkage),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,pAddressEle),
|
|
FIELD3(FieldTypeIpAddr,tNAMEADDR,IpAddress),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,pIpAddrsList),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,pTracker),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,pTimer),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,Ttl),
|
|
FIELD3(FieldTypeULong,tNAMEADDR,RefCount),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,NameTypeState),
|
|
FIELD3(FieldTypePointer,tNAMEADDR,Verify),
|
|
FIELD3(FieldTypeULongULong,tNAMEADDR,AdapterMask),
|
|
FIELD3(FieldTypeULongULong,tNAMEADDR,RefreshMask),
|
|
FIELD3(FieldTypeUShort,tNAMEADDR,TimeOutCount),
|
|
FIELD3(FieldTypeBoolean,tNAMEADDR,fProxyReq),
|
|
#ifdef PROXY_NODE
|
|
FIELD3(FieldTypeBoolean,tNAMEADDR,fPnode),
|
|
#endif
|
|
FIELD3(FieldTypeNBName,tNAMEADDR,Name),
|
|
0
|
|
};
|
|
|
|
FIELD_DESCRIPTOR AddressEle[] =
|
|
{
|
|
FIELD3(FieldTypeListEntry,tADDRESSELE,Linkage),
|
|
FIELD3(FieldTypePointer,tADDRESSELE,Verify),
|
|
FIELD3(FieldTypePointer,tADDRESSELE,SpinLock),
|
|
FIELD3(FieldTypeListEntry,tADDRESSELE,ClientHead),
|
|
FIELD3(FieldTypePointer,tADDRESSELE,pNameAddr),
|
|
FIELD3(FieldTypeULong,tADDRESSELE,RefCount),
|
|
FIELD3(FieldTypePointer,tADDRESSELE,pDeviceContext),
|
|
FIELD3(FieldTypePointer,tADDRESSELE,SecurityDescriptor),
|
|
FIELD3(FieldTypeUShort,tADDRESSELE,NameType),
|
|
FIELD3(FieldTypeChar,tADDRESSELE,LockNumber),
|
|
FIELD3(FieldTypeBoolean,tADDRESSELE,MultiClients),
|
|
0
|
|
};
|
|
|
|
FIELD_DESCRIPTOR ClientEle[] =
|
|
{
|
|
FIELD3(FieldTypeListEntry,tCLIENTELE,Linkage),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,Verify),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,pIrp),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,SpinLock),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,pAddress),
|
|
FIELD3(FieldTypeListEntry,tCLIENTELE,ConnectHead),
|
|
FIELD3(FieldTypeListEntry,tCLIENTELE,ConnectActive),
|
|
FIELD3(FieldTypeListEntry,tCLIENTELE,RcvDgramHead),
|
|
FIELD3(FieldTypeListEntry,tCLIENTELE,ListenHead),
|
|
FIELD3(FieldTypeListEntry,tCLIENTELE,SndDgrams),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evConnect),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,ConEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evReceive),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,RcvEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evDisconnect),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,DiscEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evError),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,ErrorEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evRcvDgram),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,RcvDgramEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evRcvExpedited),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,RcvExpedEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,evSendPossible),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,SendPossEvContext),
|
|
FIELD3(FieldTypePointer,tCLIENTELE,pDeviceContext),
|
|
FIELD3(FieldTypeULong,tCLIENTELE,RefCount),
|
|
FIELD3(FieldTypeChar,tCLIENTELE,LockNumber),
|
|
FIELD3(FieldTypeBoolean,tCLIENTELE,WaitingForRegistration),
|
|
0
|
|
};
|
|
|
|
|
|
FIELD_DESCRIPTOR ConnectEle[] =
|
|
{
|
|
FIELD3(FieldTypeListEntry,tCONNECTELE,Linkage),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,Verify),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,SpinLock),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pLowerConnId),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pClientEle),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,ConnectContext),
|
|
FIELD3(FieldTypeNBName,tCONNECTELE,RemoteName),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pNewMdl),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,CurrentRcvLen),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,FreeBytesInMdl),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,TotalPcktLen),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,BytesInXport),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,BytesRcvd),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,ReceiveIndicated),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pNextMdl),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,OffsetFromStart),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pIrp),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pIrpClose),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pIrpDisc),
|
|
FIELD3(FieldTypePointer,tCONNECTELE,pIrpRcv),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,RefCount),
|
|
FIELD3(FieldTypeULong,tCONNECTELE,state),
|
|
FIELD3(FieldTypeBoolean,tCONNECTELE,Orig),
|
|
FIELD3(FieldTypeChar,tCONNECTELE,LockNumber),
|
|
FIELD3(FieldTypeChar,tCONNECTELE,SessionSetupCount),
|
|
FIELD3(FieldTypeChar,tCONNECTELE,DiscFlag),
|
|
FIELD3(FieldTypeBoolean,tCONNECTELE,JunkMsgFlag),
|
|
0
|
|
};
|
|
|
|
FIELD_DESCRIPTOR LowerConn[] =
|
|
{
|
|
FIELD3(FieldTypeListEntry,tLOWERCONNECTION,Linkage),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,Verify),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,SpinLock),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pUpperConnection),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,FileHandle),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pFileObject),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,AddrFileHandle),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pAddrFileObject),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pDeviceContext),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pIndicateMdl),
|
|
FIELD3(FieldTypeULongULong,tLOWERCONNECTION,BytesRcvd),
|
|
FIELD3(FieldTypeULongULong,tLOWERCONNECTION,BytesSent),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pMdl),
|
|
FIELD3(FieldTypeUShort,tLOWERCONNECTION,BytesInIndicate),
|
|
FIELD3(FieldTypeUShort,tLOWERCONNECTION,StateRcv),
|
|
FIELD3(FieldTypeIpAddr,tLOWERCONNECTION,SrcIpAddr),
|
|
FIELD3(FieldTypeULong,tLOWERCONNECTION,State),
|
|
FIELD3(FieldTypeULong,tLOWERCONNECTION,RefCount),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,pIrp),
|
|
FIELD3(FieldTypePointer,tLOWERCONNECTION,CurrentStateProc),
|
|
FIELD3(FieldTypeBoolean,tLOWERCONNECTION,bReceivingToIndicateBuffer),
|
|
FIELD3(FieldTypeChar,tLOWERCONNECTION,LockNumber),
|
|
FIELD3(FieldTypeBoolean,tLOWERCONNECTION,bOriginator),
|
|
FIELD3(FieldTypeBoolean,tLOWERCONNECTION,InRcvHandler),
|
|
FIELD3(FieldTypeBoolean,tLOWERCONNECTION,DestroyConnection),
|
|
0
|
|
};
|
|
|
|
|
|
FIELD_DESCRIPTOR Tracker[] =
|
|
{
|
|
FIELD3(FieldTypeListEntry,tDGRAM_SEND_TRACKING,Linkage),
|
|
FIELD3(FieldTypeListEntry,tDGRAM_SEND_TRACKING,TrackerList),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,Verify),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pClientIrp),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pConnEle),
|
|
FIELD3(FieldTypeStruct,tDGRAM_SEND_TRACKING,SendBuffer),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pSendInfo),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pDeviceContext),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pTimer),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,RefCount),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pNameAddr),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,pTimeout),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,AllocatedLength),
|
|
FIELD3(FieldTypePointer,tDGRAM_SEND_TRACKING,CompletionRoutine),
|
|
FIELD3(FieldTypeUShort,tDGRAM_SEND_TRACKING,Flags),
|
|
FIELD3(FieldTypeListEntry,tDGRAM_SEND_TRACKING,DebugLinkage),
|
|
0
|
|
};
|
|
|
|
FIELD_DESCRIPTOR Nbt_Config[] =
|
|
{
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,SpinLock),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,NumConnections),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,NumAddresses),
|
|
FIELD3(FieldTypeListEntry,tNBTCONFIG,DeviceContexts),
|
|
FIELD3(FieldTypeListEntry,tNBTCONFIG,DgramTrackerFreeQ),
|
|
FIELD3(FieldTypeListEntry,tNBTCONFIG,NodeStatusHead),
|
|
FIELD3(FieldTypeListEntry,tNBTCONFIG,AddressHead),
|
|
FIELD3(FieldTypeListEntry,tNBTCONFIG,PendingNameQueries),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pControlObj),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,DriverObject),
|
|
FIELD3(FieldTypeListEntry,tNBTCONFIG,IrpFreeList),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,SessionMdlFreeSingleList),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,DgramMdlFreeSingleList),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pTcpBindName),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pLocalHashTbl),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pRemoteHashTbl),
|
|
FIELD3(FieldTypeStruct,tNBTCONFIG,OutOfRsrc),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumDevices),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumLocalNames),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumRemoteNames),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumBucketsRemote),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumBucketsLocal),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,TimerQSize),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,uBcastTimeout),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,uRetryTimeout),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumRetries),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,uNumBcasts),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,ScopeLength),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,SizeTransportAddress),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pScope),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pBcastNetbiosName),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,MinimumTtl),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,RefreshDivisor),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,RemoteHashTimeout),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,WinsDownTimeout),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pRefreshTimer),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pSessionKeepAliveTimer),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pRemoteHashTimer),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,InitialRefreshTimeout),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,KeepAliveTimeout),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,RegistryBcastAddr),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,DhcpNumConnections),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,CurrentHashBucket),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,PduNodeType),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,TransactionId),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,NameServerPort),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,sTimeoutCount),
|
|
FIELD3(FieldTypeStruct,tNBTCONFIG,JointLock),
|
|
FIELD3(FieldTypeChar,tNBTCONFIG,LockNumber),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,RemoteTimeoutCount),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,UseRegistryBcastAddr),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,MaxDgramBuffering),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,LmHostsTimeout),
|
|
FIELD3(FieldTypePointer,tNBTCONFIG,pLmHosts),
|
|
FIELD3(FieldTypeULong,tNBTCONFIG,PathLength),
|
|
FIELD3(FieldTypeChar,tNBTCONFIG,AdapterCount),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,MultiHomed),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,SingleResponse),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,SelectAdapter),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,ResolveWithDns),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,EnableLmHosts),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,EnableProxyRegCheck),
|
|
FIELD3(FieldTypeBoolean,tNBTCONFIG,DoingRefreshNow),
|
|
FIELD3(FieldTypeChar,tNBTCONFIG,CurrProc),
|
|
FIELD3(FieldTypeUShort,tNBTCONFIG,OpRefresh),
|
|
0
|
|
};
|
|
|
|
|
|
FIELD_DESCRIPTOR NbtWorkContext[] =
|
|
{
|
|
FIELD3(FieldTypeStruct,NBT_WORK_ITEM_CONTEXT,Item),
|
|
FIELD3(FieldTypePointer,NBT_WORK_ITEM_CONTEXT,pTracker),
|
|
FIELD3(FieldTypePointer,NBT_WORK_ITEM_CONTEXT,pClientContext),
|
|
FIELD3(FieldTypePointer,NBT_WORK_ITEM_CONTEXT,ClientCompletion),
|
|
FIELD3(FieldTypeBoolean,NBT_WORK_ITEM_CONTEXT,TimedOut),
|
|
0
|
|
};
|
|
|
|
|
|
FIELD_DESCRIPTOR Timer_Entry[] =
|
|
{
|
|
FIELD3(FieldTypeStruct,tTIMERQENTRY,VxdTimer),
|
|
FIELD3(FieldTypeListEntry,tTIMERQENTRY,Linkage),
|
|
FIELD3(FieldTypePointer,tTIMERQENTRY,Context),
|
|
FIELD3(FieldTypePointer,tTIMERQENTRY,Context2),
|
|
FIELD3(FieldTypePointer,tTIMERQENTRY,CompletionRoutine),
|
|
FIELD3(FieldTypePointer,tTIMERQENTRY,ClientContext),
|
|
FIELD3(FieldTypePointer,tTIMERQENTRY,ClientCompletion),
|
|
FIELD3(FieldTypePointer,tTIMERQENTRY,pCacheEntry),
|
|
FIELD3(FieldTypeULong,tTIMERQENTRY,DeltaTime),
|
|
FIELD3(FieldTypeUShort,tTIMERQENTRY,Flags),
|
|
FIELD3(FieldTypeUShort,tTIMERQENTRY,Retries),
|
|
FIELD3(FieldTypeChar,tTIMERQENTRY,RefCount),
|
|
0
|
|
};
|
|
|
|
FIELD_DESCRIPTOR Dns_Queries[] =
|
|
{
|
|
FIELD3(FieldTypePointer,tDNS_QUERIES,QueryIrp),
|
|
FIELD3(FieldTypeListEntry,tDNS_QUERIES,ToResolve),
|
|
FIELD3(FieldTypePointer,tDNS_QUERIES,Context),
|
|
FIELD3(FieldTypeBoolean,tDNS_QUERIES,ResolvingNow),
|
|
0
|
|
};
|
|
|
|
//
|
|
// List of structs currently handled by the debugger extensions
|
|
//
|
|
|
|
STRUCT_DESCRIPTOR Structs[] =
|
|
{
|
|
STRUCT(tDEVICECONTEXT,DeviceContext),
|
|
STRUCT(tNAMEADDR,NameAddr),
|
|
STRUCT(tADDRESSELE,AddressEle),
|
|
STRUCT(tCLIENTELE,ClientEle),
|
|
STRUCT(tCONNECTELE,ConnectEle),
|
|
STRUCT(tLOWERCONNECTION,LowerConn),
|
|
STRUCT(tDGRAM_SEND_TRACKING,Tracker),
|
|
STRUCT(tNBTCONFIG,Nbt_Config),
|
|
STRUCT(NBT_WORK_ITEM_CONTEXT,NbtWorkContext),
|
|
STRUCT(tTIMERQENTRY,Timer_Entry),
|
|
STRUCT(tDNS_QUERIES,Dns_Queries),
|
|
0
|
|
};
|