Main Page Modules Data Structures File List Data Fields Globals Related Pages

# Packet32.h File Reference

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