#include <Packet.h>
Data Fields | |
PDEVICE_EXTENSION | DeviceExtension |
NDIS_HANDLE | AdapterHandle |
NDIS idetifier of the adapter used by this instance. | |
UINT | Medium |
NDIS_HANDLE | PacketPool |
Pool of NDIS_PACKET structures used to transfer the packets from and to the NIC driver. | |
PIRP | OpenCloseIrp |
KSPIN_LOCK | RequestSpinLock |
SpinLock used to synchronize the OID requests. | |
LIST_ENTRY | RequestList |
List of pending OID requests. | |
LIST_ENTRY | ResetIrpList |
List of pending adapter reset requests. | |
INTERNAL_REQUEST | Requests [MAX_REQUESTS] |
Array of structures that wrap every single OID request. | |
PMDL | BufferMdl |
Pointer to a Memory descriptor list (MDL) that maps the circular buffer's memory. | |
PKEVENT | ReadEvent |
Pointer to the event on which the read calls on this instance must wait. | |
HANDLE | ReadEventHandle |
Handle of the event on which the read calls on this instance must wait. | |
UNICODE_STRING | ReadEventName |
PUCHAR | bpfprogram |
JIT_BPF_Filter * | Filter |
UINT | MinToCopy |
LARGE_INTEGER | TimeOut |
int | mode |
Working mode of the driver. See PacketSetMode() for details. | |
LARGE_INTEGER | Nbytes |
Amount of bytes accepted by the filter when this instance is in statistical mode. | |
LARGE_INTEGER | Npackets |
Number of packets accepted by the filter when this instance is in statistical mode. | |
NDIS_SPIN_LOCK | CountersLock |
SpinLock that protects the statistical mode counters. | |
UINT | Nwrites |
ULONG | Multiple_Write_Counter |
Counts the number of times a single write has already physically repeated. | |
NDIS_EVENT | WriteEvent |
Event used to synchronize the multiple write process. | |
BOOLEAN | WriteInProgress |
NDIS_SPIN_LOCK | WriteLock |
SpinLock that protects the WriteInProgress variable. | |
NDIS_EVENT | IOEvent |
Event used to synchronize I/O requests with the callback structure of NDIS. | |
NDIS_STATUS | IOStatus |
Maintains the status of and OID request call, that will be passed to the application. | |
BOOLEAN | Bound |
HANDLE | DumpFileHandle |
Handle of the file used in dump mode. | |
PFILE_OBJECT | DumpFileObject |
Pointer to the object of the file used in dump mode. | |
PKTHREAD | DumpThreadObject |
Pointer to the object of the thread used in dump mode. | |
HANDLE | DumpThreadHandle |
Handle of the thread created by dump mode to asynchronously move the buffer to disk. | |
NDIS_EVENT | DumpEvent |
Event used to synchronize the dump thread with the tap when the instance is in dump mode. | |
LARGE_INTEGER | DumpOffset |
Current offset in the dump file. | |
UNICODE_STRING | DumpFileName |
String containing the name of the dump file. | |
UINT | MaxDumpBytes |
UINT | MaxDumpPacks |
BOOLEAN | DumpLimitReached |
MEM_TYPE | mem_ex |
Memory used by the TME virtual co-processor. | |
TME_CORE | tme |
Data structure containing the virtualization of the TME co-processor. | |
NDIS_SPIN_LOCK | MachineLock |
SpinLock that protects the mem_ex buffer. | |
UINT | MaxFrameSize |
CpuPrivateData | CpuData [32] |
Pool of kernel buffer structures, one for each CPU. | |
ULONG | ReaderSN |
Sequence number of the next packet to be read from the pool of kernel buffers. | |
ULONG | WriterSN |
ULONG | Size |
Size of each kernel buffer contained in the CpuData field. | |
ULONG | SkipProcessing |
This is the most important structure of NPF: it is used by almost all the functions of the driver. An _OPEN_INSTANCE structure is associated with every user-level session, allowing concurrent access to the driver.
Definition at line 313 of file Packet.h.
|
NDIS idetifier of the adapter used by this instance.
|
|
Specifies if NPF is still bound to the adapter used by this instance. Bound can be FALSE if a Plug and Play adapter has been removed or disabled by the user. |
|
Pointer to the filtering pseudo-code associated with current instance of the driver. This code is used only in particular situations (for example when the packet received from the NIC driver is stored in two non-consecutive buffers. In normal situations the filtering routine created by the JIT compiler and pointed by the next field is used. See NPF driver internals manual for details on the filtering process. |
|
Pointer to a Memory descriptor list (MDL) that maps the circular buffer's memory.
|
|
SpinLock that protects the statistical mode counters.
|
|
Pool of kernel buffer structures, one for each CPU.
|
|
Pointer to the _DEVICE_EXTENSION structure of the device on which the instance is bound. |
|
Event used to synchronize the dump thread with the tap when the instance is in dump mode.
|
|
Handle of the file used in dump mode.
|
|
String containing the name of the dump file.
|
|
Pointer to the object of the file used in dump mode.
|
|
TRUE if the maximum dimension of the dump file (MaxDumpBytes or MaxDumpPacks) is reached. |
|
Current offset in the dump file.
|
|
Handle of the thread created by dump mode to asynchronously move the buffer to disk.
|
|
Pointer to the object of the thread used in dump mode.
|
|
Pointer to the native filtering function created by the jitter. See BPF_jitter() for details. |
|
Event used to synchronize I/O requests with the callback structure of NDIS.
|
|
Maintains the status of and OID request call, that will be passed to the application.
|
|
SpinLock that protects the mem_ex buffer.
|
|
Maximum dimension in bytes of the dump file. If the dump file reaches this size it will be closed. A value of 0 means unlimited size. |
|
Maximum number of packets that will be saved in the dump file. If this number of packets is reached the dump will be closed. A value of 0 means unlimited number of packets. |
|
Maximum frame size that the underlying MAC acceptes. Used to perform a check on the size of the frames sent with NPF_Write() or NPF_BufferedWrite(). |
|
Type of physical medium the underlying NDIS driver uses. See the documentation of NdisOpenAdapter in the MS DDK for details. |
|
Memory used by the TME virtual co-processor.
|
|
Minimum amount of data in the circular buffer that unlocks a read. Set with the BIOCSMINTOCOPY IOCTL. |
|
Working mode of the driver. See PacketSetMode() for details.
|
|
Counts the number of times a single write has already physically repeated.
|
|
Amount of bytes accepted by the filter when this instance is in statistical mode.
|
|
Number of packets accepted by the filter when this instance is in statistical mode.
|
|
Number of times a single write must be physically repeated. See NPF driver internals manual for an explanation |
|
Pointer used to store the open/close IRP requests and provide them to the callbacks of NDIS. |
|
Pool of NDIS_PACKET structures used to transfer the packets from and to the NIC driver.
|
|
Sequence number of the next packet to be read from the pool of kernel buffers.
|
|
Pointer to the event on which the read calls on this instance must wait.
|
|
Handle of the event on which the read calls on this instance must wait.
|
|
Name of the event on which the read calls on this instance must wait. The event is created with a name, so it can be used at user level to know when it is possible to access the driver without being blocked. This fiels stores the name that and is used by the BIOCGEVNAME IOCTL call. |
|
List of pending OID requests.
|
|
Array of structures that wrap every single OID request.
|
|
SpinLock used to synchronize the OID requests.
|
|
List of pending adapter reset requests.
|
|
Size of each kernel buffer contained in the CpuData field.
|
|
Flag. When set to 1, the tap discards each packet. It is set to 1 by the IOCTLs that modify some "sensible" fields of the Open structure (e.g. they reallocate the pool of kernel buffers, or change the filter program |
|
Timeout after which a read is released, also if the amount of data in the buffer is less than MinToCopy. Set with the BIOCSRTIMEOUT IOCTL. |
|
Data structure containing the virtualization of the TME co-processor.
|
|
Event used to synchronize the multiple write process.
|
|
True if a write is currently in progress. NPF currently allows a single wite on the same open instance. |
|
SpinLock that protects the WriteInProgress variable.
|
|
Sequence number of the next packet to be written in the pool of kernel buffers. These two sequence numbers are unique for each capture instance. |
documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005
CACE technologies. All rights reserved.