#include <winsock2.h>
#include "devioctl.h"
Go to the source code of this file.
Data Structures | |
struct | _ADAPTER |
Describes a network adapter. More... | |
struct | _PACKET |
Structure that contains a group of packets coming from the driver. More... | |
struct | _PACKET_OID_DATA |
Structure containing an OID request. More... | |
struct | bpf_hdr |
Packet header. More... | |
struct | bpf_insn |
A single BPF pseudo-instruction. More... | |
struct | bpf_program |
A BPF pseudo-assembly program. More... | |
struct | bpf_stat |
Structure that contains a couple of statistics values on the current capture. More... | |
struct | dump_bpf_hdr |
Dump packet header. More... | |
struct | NetType |
Network type structure. More... | |
struct | npf_if_addr |
Addresses of a network adapter. More... | |
Defines | |
#define | PACKET_MODE_CAPT 0x0 |
Capture mode. | |
#define | PACKET_MODE_STAT 0x1 |
Statistical mode. | |
#define | PACKET_MODE_DUMP 0x10 |
Dump mode. | |
#define | PACKET_MODE_STAT_DUMP MODE_DUMP | MODE_STAT |
Statistical dump Mode. | |
#define | FILE_DEVICE_PROTOCOL 0x8000 |
#define | IOCTL_PROTOCOL_STATISTICS CTL_CODE(FILE_DEVICE_PROTOCOL, 2 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | IOCTL_PROTOCOL_RESET CTL_CODE(FILE_DEVICE_PROTOCOL, 3 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | IOCTL_PROTOCOL_READ CTL_CODE(FILE_DEVICE_PROTOCOL, 4 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | IOCTL_PROTOCOL_WRITE CTL_CODE(FILE_DEVICE_PROTOCOL, 5 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | IOCTL_PROTOCOL_MACNAME CTL_CODE(FILE_DEVICE_PROTOCOL, 6 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | IOCTL_OPEN CTL_CODE(FILE_DEVICE_PROTOCOL, 7 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | IOCTL_CLOSE CTL_CODE(FILE_DEVICE_PROTOCOL, 8 , METHOD_BUFFERED, FILE_ANY_ACCESS) |
#define | pBIOCSETBUFFERSIZE 9592 |
IOCTL code: set kernel buffer size. | |
#define | pBIOCSETF 9030 |
IOCTL code: set packet filtering program. | |
#define | pBIOCGSTATS 9031 |
IOCTL code: get the capture stats. | |
#define | pBIOCSRTIMEOUT 7416 |
IOCTL code: set the read timeout. | |
#define | pBIOCSMODE 7412 |
IOCTL code: set working mode. | |
#define | pBIOCSWRITEREP 7413 |
IOCTL code: set number of physical repetions of every packet written by the app. | |
#define | pBIOCSMINTOCOPY 7414 |
IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call. | |
#define | pBIOCSETOID 2147483648 |
IOCTL code: set an OID value. | |
#define | pBIOCQUERYOID 2147483652 |
IOCTL code: get an OID value. | |
#define | pATTACHPROCESS 7117 |
IOCTL code: attach a process to the driver. Used in Win9x only. | |
#define | pDETACHPROCESS 7118 |
IOCTL code: detach a process from the driver. Used in Win9x only. | |
#define | pBIOCSETDUMPFILENAME 9029 |
IOCTL code: set the name of a the file used by kernel dump mode. | |
#define | pBIOCEVNAME 7415 |
IOCTL code: get the name of the event that the driver signals when some data is present in the buffer. | |
#define | pBIOCSENDPACKETSNOSYNC 9032 |
IOCTL code: Send a buffer containing multiple packets to the network, ignoring the timestamps associated with the packets. | |
#define | pBIOCSENDPACKETSSYNC 9033 |
IOCTL code: Send a buffer containing multiple packets to the network, respecting the timestamps associated with the packets. | |
#define | pBIOCSETDUMPLIMITS 9034 |
IOCTL code: Set the dump file limits. See the PacketSetDumpLimits() function. | |
#define | pBIOCISDUMPENDED 7411 |
IOCTL code: Get the status of the kernel dump process. See the PacketIsDumpEnded() function. | |
#define | pBIOCSTIMEZONE 7471 |
IOCTL code: set time zone. Used in Win9x only. | |
#define | Packet_ALIGNMENT sizeof(int) |
Alignment macro. Defines the alignment size. | |
#define | Packet_WORDALIGN(x) (((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1)) |
Alignment macro. Rounds up to the next even multiple of Packet_ALIGNMENT. | |
#define | DOSNAMEPREFIX TEXT("Packet_") |
Prefix added to the adapters device names to create the WinPcap devices. | |
#define | MAX_LINK_NAME_LENGTH 64 |
#define | NMAX_PACKET 65535 |
Typedefs | |
typedef NetType | NetType |
Network type structure. | |
typedef _ADAPTER | ADAPTER |
Describes a network adapter. | |
typedef _ADAPTER * | LPADAPTER |
Describes a network adapter. | |
typedef _PACKET | PACKET |
Structure that contains a group of packets coming from the driver. | |
typedef _PACKET * | LPPACKET |
Structure that contains a group of packets coming from the driver. | |
typedef _PACKET_OID_DATA PACKET_OID_DATA * | PPACKET_OID_DATA |
typedef npf_if_addr | npf_if_addr |
Addresses of a network adapter. | |
Functions | |
PCHAR | PacketGetVersion () |
Returns a string with the dll version. | |
BOOLEAN | PacketSetMinToCopy (LPADAPTER AdapterObject, int nbytes) |
Defines the minimum amount of data that will be received in a read. | |
BOOLEAN | PacketSetNumWrites (LPADAPTER AdapterObject, int nwrites) |
Sets the number of times a single packet written with PacketSendPacket() will be repeated on the network. | |
BOOLEAN | PacketSetMode (LPADAPTER AdapterObject, int mode) |
Sets the working mode of an adapter. | |
BOOLEAN | PacketSetReadTimeout (LPADAPTER AdapterObject, int timeout) |
Sets the timeout after which a read on an adapter returns. | |
BOOLEAN | PacketSetBpf (LPADAPTER AdapterObject, struct bpf_program *fp) |
Sets a kernel-level packet filter. | |
BOOLEAN | PacketGetStats (LPADAPTER AdapterObject, struct bpf_stat *s) |
Returns a couple of statistic values about the current capture session. | |
BOOLEAN | PacketGetStatsEx (LPADAPTER AdapterObject, struct bpf_stat *s) |
Returns statistic values about the current capture session. Enhanced version of PacketGetStats(). | |
BOOLEAN | PacketSetBuff (LPADAPTER AdapterObject, int dim) |
Sets the size of the kernel-level buffer associated with a capture. | |
BOOLEAN | PacketGetNetType (LPADAPTER AdapterObject, NetType *type) |
Returns information about the MAC type of an adapter. | |
LPADAPTER | PacketOpenAdapter (LPTSTR AdapterName) |
Opens an adapter. | |
BOOLEAN | PacketSendPacket (LPADAPTER AdapterObject, LPPACKET pPacket, BOOLEAN Sync) |
Sends one (or more) copies of a packet to the network. | |
INT | PacketSendPackets (LPADAPTER AdapterObject, PVOID PacketBuff, ULONG Size, BOOLEAN Sync) |
Sends a buffer of packets to the network. | |
LPPACKET | PacketAllocatePacket (void) |
Allocates a _PACKET structure. | |
VOID | PacketInitPacket (LPPACKET lpPacket, PVOID Buffer, UINT Length) |
Initializes a _PACKET structure. | |
VOID | PacketFreePacket (LPPACKET lpPacket) |
Frees a _PACKET structure. | |
BOOLEAN | PacketReceivePacket (LPADAPTER AdapterObject, LPPACKET lpPacket, BOOLEAN Sync) |
Read data (packets or statistics) from the NPF driver. | |
BOOLEAN | PacketSetHwFilter (LPADAPTER AdapterObject, ULONG Filter) |
Sets a hardware filter on the incoming packets. | |
BOOLEAN | PacketGetAdapterNames (PTSTR pStr, PULONG BufferSize) |
Retrieve the list of available network adapters and their description. | |
BOOLEAN | PacketGetNetInfo (LPTSTR AdapterName, PULONG netp, PULONG maskp) |
Returns the IP address and the netmask of an adapter. | |
BOOLEAN | PacketGetNetInfoEx (LPTSTR AdapterName, npf_if_addr *buffer, PLONG NEntries) |
Returns comprehensive information the addresses of an adapter. | |
BOOLEAN | PacketRequest (LPADAPTER AdapterObject, BOOLEAN Set, PPACKET_OID_DATA OidData) |
Performs a query/set operation on an internal variable of the network card driver. | |
HANDLE | PacketGetReadEvent (LPADAPTER AdapterObject) |
Returns the notification event associated with the read calls on an adapter. | |
BOOLEAN | PacketSetDumpName (LPADAPTER AdapterObject, void *name, int len) |
Sets the name of the file that will receive the packet when the adapter is in dump mode. | |
BOOLEAN | PacketSetDumpLimits (LPADAPTER AdapterObject, UINT maxfilesize, UINT maxnpacks) |
Set the dump mode limits. | |
BOOLEAN | PacketIsDumpEnded (LPADAPTER AdapterObject, BOOLEAN sync) |
Returns the status of the kernel dump process, i.e. tells if one of the limits defined with PacketSetDumpLimits() was reached. | |
BOOL | PacketStopDriver () |
Stops and unloads the WinPcap device driver. | |
VOID | PacketCloseAdapter (LPADAPTER lpAdapter) |
Closes an adapter. |
documentation. Copyright (c) 2002-2003 Politecnico di Torino. All rights reserved.