当前位置: 首页 > 文档资料 > WinPcap 中文手册 >

WinPcap: NPF 结构与定义

优质
小牛编辑
121浏览
2023-12-01

数据结构

structpacket_file_header
Header of a libpcap dump file. More...
structsf_pkthdr
Header associated to a packet in the driver's buffer when the driver is in dump mode. Similar to the bpf_hdr structure, but simpler. More...
struct_INTERNAL_REQUEST
Stores an OID request. More...
struct_PACKET_RESERVED
Contains a NDIS packet. More...
struct_DEVICE_EXTENSION
Port device extension. More...
struct__CPU_Private_Data
Kernel buffer of each CPU. More...
struct_OPEN_INSTANCE
Contains the state of a running instance of the NPF driver. More...
structPacketHeader
Structure prepended to each packet in the kernel buffer pool. More...

定义

#defineMAX_REQUESTS32
Maximum number of simultaneous IOCTL requests.
#definePacket_ALIGNMENTsizeof(int)
Alignment macro. Defines the alignment size.
#definePacket_WORDALIGN(x)(((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1))
even multiple of Packet_ALIGNMENT.
#defineKERNEL_EVENT_NAMESPACEL"\BaseNamedObjects\"
#defineBIOCSETBUFFERSIZE9592
IOCTL code: set kernel buffer size.
#defineBIOCSETF9030
IOCTL code: set packet filtering program.
#defineBIOCGSTATS9031
IOCTL code: get the capture stats.
#defineBIOCSRTIMEOUT7416
IOCTL code: set the read timeout.
#defineBIOCSMODE7412
IOCTL code: set working mode.
#defineBIOCSWRITEREP7413
IOCTL code: set number of physical repetions of every packet written by the app.
#defineBIOCSMINTOCOPY7414
IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call.
#defineBIOCSETOID2147483648
IOCTL code: set an OID value.
#defineBIOCQUERYOID2147483652
IOCTL code: get an OID value.
#defineBIOCSETDUMPFILENAME9029
IOCTL code: set the name of a the file used by kernel dump mode.
#defineBIOCGEVNAME7415
IOCTL code: get the name of the event that the driver signals when some data is present in the buffer.
#defineBIOCSENDPACKETSNOSYNC9032
IOCTL code: Send a buffer containing multiple packets to the network, ignoring the timestamps.
#defineBIOCSENDPACKETSSYNC9033
IOCTL code: Send a buffer containing multiple packets to the network, considering the timestamps.
#defineBIOCSETDUMPLIMITS9034
IOCTL code: Set the dump file limits.
#defineBIOCISDUMPENDED7411
IOCTL code: Get the status of the kernel dump process.
#defineBIOCISETLOBBEH7410
IOCTL code: set the loopback behavior.
#defineBIOCSETEVENTHANDLE7920
This IOCTL passes the read event HANDLE allocated by the user (packet.dll) to kernel level.
#defineMODE_CAPT0x0
Capture working mode.
#defineMODE_STAT0x1
Statistical working mode.
#defineMODE_MON0x2
Kernel monitoring mode.
#defineMODE_DUMP0x10
Kernel dump working mode.
#defineIMMEDIATE1
Immediate timeout. Forces a read call to return immediately.
#defineNDIS_FLAGS_SKIP_LOOPBACK_W2K0x400
This is an undocumented flag for NdisSetPacketFlags() that allows to disable loopback reception.
#defineTCPDUMP_MAGIC0xa1b2c3d4
Libpcap magic number. Used by programs like tcpdump to recognize a driver's generated dump file.
#definePCAP_VERSION_MAJOR2
Major libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file.
#definePCAP_VERSION_MINOR4
Minor libpcap version of the dump file. Used by programs like tcpdump to recognize a driver's generated dump file.
#defineNPF_DISABLE_LOOPBACK1
Tells the driver to drop the packets sent by itself. This is usefult when building applications like bridges.
#defineNPF_ENABLE_LOOPBACK2
Tells the driver to capture the packets sent by itself.
#defineRESERVED(_p)((PPACKET_RESERVED)((_p)->ProtocolReserved))
Macro to obtain a NDIS_PACKET from a PACKET_RESERVED.
#defineTRANSMIT_PACKETS256
of packets that can be transmitted at the same time or with a single call to NdisSendPackets.
#defineEXIT_SUCCESS(quantity)
Macro used in the I/O routines to return the control to user-mode with a success status.
#defineEXIT_FAILURE(quantity)
Macro used in the I/O routines to return the control to user-mode with a failure status.

自定义类型

typedef _INTERNAL_REQUESTINTERNAL_REQUEST
Stores an OID request.
typedef _INTERNAL_REQUEST *PINTERNAL_REQUEST
Stores an OID request.
typedef _PACKET_RESERVEDPACKET_RESERVED
Contains a NDIS packet.
typedef _PACKET_RESERVED *PPACKET_RESERVED
Contains a NDIS packet.
typedef _DEVICE_EXTENSIONDEVICE_EXTENSION
Port device extension.
typedef _DEVICE_EXTENSION *PDEVICE_EXTENSION
Port device extension.
typedef __CPU_Private_DataCpuPrivateData
Kernel buffer of each CPU.
typedef _OPEN_INSTANCEOPEN_INSTANCE
Contains the state of a running instance of the NPF driver.
typedef _OPEN_INSTANCE *POPEN_INSTANCE
Contains the state of a running instance of the NPF driver.

枚举

enumADAPTER_BINDING_STATUS { ADAPTER_UNBOUND,
ADAPTER_BOUND,
ADAPTER_UNBINDING
}

变量

ULONGNCpu