#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.