windows-nt/Source/XPSP1/NT/net/tcpip/driver/kdext2/inc/tcpipext.h
2020-09-26 16:20:57 +08:00

337 lines
4.6 KiB
C

/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
tcpipx.h
Abstract:
Contains definitions for TCP/IP dumping library.
Author:
Scott Holden (sholden) 4/24/1999
Revision History:
--*/
#include "tdint.h"
#include "tcp.h"
#include "tcpconn.h"
#include "addr.h"
#include "udp.h"
#include "raw.h"
#include "winsock.h"
#include "tcb.h"
#include "tcpsend.h"
#include "tcprcv.h"
#include "tcpdump.h"
#ifndef _TCPIPX_H_
#define _TCPIPX_H_
//
// Verbosity level of dumping. Three levels. Typically MIN and MAX will be
// supported and MED will default to MIN when not supported.
//
typedef enum _VERBOSITY_LEVEL
{
VERB_MIN = 0, // One-liner.
VERB_MED,
VERB_MAX // Full structure dump.
} VERB;
BOOL
InitTcpipx();
// Helper dump functions.
BOOL
DumpCTEEvent(
CTEEvent *pCe
);
BOOL
DumpCTETimer(
CTETimer *pCt
);
BOOL
DumpCTEBlockStruc(
CTEBlockStruc *pCbs
);
BOOL
DumpWORK_QUEUE_ITEM(
WORK_QUEUE_ITEM *pWqi
);
BOOL
DumpSHARE_ACCESS(
SHARE_ACCESS *pSa
);
BOOL
DumpKEVENT(
KEVENT *pKe
);
BOOL
DumpNDIS_STRING(
NDIS_STRING *pNs
);
// Real dump functions.
BOOL
DumpTCB(
TCB *pTcb,
ULONG_PTR TcbAddr,
VERB verb
);
BOOL
DumpTWTCB(
TWTCB *pTwtcb,
ULONG_PTR TwtcbAddr,
VERB verb
);
BOOL
DumpAddrObj(
AddrObj *pAo,
ULONG_PTR AddrObjAddr,
VERB verb
);
BOOL
DumpNetTableEntry(
NetTableEntry *pNte,
ULONG_PTR NteAddr,
VERB verb
);
BOOL
DumpTCPRcvReq(
TCPRcvReq *pRr,
ULONG_PTR RrAddr,
VERB verb
);
BOOL
DumpTCPSendReq(
TCPSendReq *pSr,
ULONG_PTR SrAddr,
VERB verb
);
BOOL
DumpTCPReq(
TCPReq *pReq,
ULONG_PTR ReqAddr,
VERB verb
);
BOOL
DumpSendCmpltContext(
SendCmpltContext *pScc,
ULONG_PTR SccAddr,
VERB verb
);
BOOL
DumpTCPRAHdr(
TCPRAHdr *pTrh,
ULONG_PTR TrhAddr,
VERB verb
);
BOOL
DumpDGRcvReq(
DGRcvReq *pDrr,
ULONG_PTR DrrAddr,
VERB verb
);
BOOL
DumpDGSendReq(
DGSendReq *pDsr,
ULONG_PTR DsrAddr,
VERB verb
);
BOOL
DumpTCPConn(
TCPConn *pTc,
ULONG_PTR TcAddr,
VERB verb
);
BOOL
DumpTCPConnBlock(
TCPConnBlock *pCb,
ULONG_PTR CbAddr,
VERB verb
);
BOOL
DumpFILE_OBJECT(
FILE_OBJECT *pFo,
ULONG_PTR FoAddr,
VERB verb
);
BOOL
DumpIPInfo(
IPInfo *pIpi,
ULONG_PTR IpiAddr,
VERB verb
);
BOOL
DumpPacketContext(
PacketContext *pPc,
ULONG_PTR PcAddr,
VERB verb
);
BOOL
DumpARPInterface(
ARPInterface *pAi,
ULONG_PTR AiAddr,
VERB verb
);
BOOL
DumpRouteCacheEntry(
RouteCacheEntry *pRce,
ULONG_PTR RceAddr,
VERB verb
);
BOOL
DumpIPHeader(
IPHeader *pIph,
ULONG_PTR IphAddr,
VERB verb
);
BOOL
DumpARPIPAddr(
ARPIPAddr *pAia,
ULONG_PTR AiaAddr,
VERB verb
);
BOOL
DumpARPTableEntry(
ARPTableEntry *pAte,
ULONG_PTR AteAddr,
VERB verb
);
BOOL
DumpRouteTableEntry(
RouteTableEntry *pRte,
ULONG_PTR RteAddr,
VERB verb
);
BOOL
DumpLinkEntry(
LinkEntry *pLink,
ULONG_PTR LinkAddr,
VERB verb
);
BOOL
DumpInterface(
Interface *pIf,
ULONG_PTR IfAddr,
VERB verb
);
BOOL
DumpIPOptInfo(
IPOptInfo *pIoi,
ULONG_PTR IoiAddr,
VERB verb
);
BOOL
DumpUDPHeader(
UDPHeader *pUdp,
ULONG_PTR UdpAddr,
VERB verb
);
BOOL
DumpTCPHeader(
TCPHeader *pTcp,
ULONG_PTR TcpAddr,
VERB verb
);
BOOL
DumpTCP_CONTEXT(
TCP_CONTEXT *pTc,
ULONG_PTR TcAddr,
VERB verb
);
BOOL
DumpTCP_CONTEXT_typed(
TCP_CONTEXT *pTc,
ULONG_PTR TcAddr,
VERB verb,
ULONG FsContext2
);
BOOL
DumpMDL(
MDL *pMdl,
ULONG_PTR MdlAddr,
VERB verb
);
BOOL
DumpICMPHeader(
ICMPHeader *pIch,
ULONG_PTR IchAddr,
VERB verb
);
BOOL
DumpLLIPBindInfo(
LLIPBindInfo *pLip,
ULONG_PTR LipAddr,
VERB verb
);
BOOL
DumpARPHeader(
ARPHeader *pAh,
ULONG_PTR AhAddr,
VERB verb
);
BOOL
DumpNPAGED_LOOKASIDE_LIST(
PNPAGED_LOOKASIDE_LIST pPpl,
ULONG_PTR PplAddr,
VERB verb
);
BOOL
DumpNDIS_PACKET(
PNDIS_PACKET pPacket,
ULONG_PTR PacketAddr,
VERB Verb
);
#endif // _TCPIPX_H_