#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.
documentation. Copyright (c) 2002-2003 Politecnico di Torino. All rights reserved.