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

# Packet.dll definitions and data structures
[Packet Driver API developer's manual]

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

## Detailed Description

Packet32.h contains the data structures and the definitions used by packet.dll. The file is used both by the Win9x and the WinNTx versions of packet.dll, and can be included by the applications that use the functions of this library

## Define Documentation

#define DOSNAMEPREFIX TEXT("Packet_")

| Prefix added to the adapters device names to create the WinPcap devices. Definition at line 173 of file Packet32.h.

#define FILE_DEVICE_PROTOCOL 0x8000

| Definition at line 46 of file Packet32.h.

#define IOCTL_CLOSE CTL_CODE(FILE_DEVICE_PROTOCOL, 8 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 54 of file Packet32.h.

#define IOCTL_OPEN CTL_CODE(FILE_DEVICE_PROTOCOL, 7 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 53 of file Packet32.h.

#define IOCTL_PROTOCOL_MACNAME CTL_CODE(FILE_DEVICE_PROTOCOL, 6 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 52 of file Packet32.h.

#define IOCTL_PROTOCOL_READ CTL_CODE(FILE_DEVICE_PROTOCOL, 4 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 50 of file Packet32.h.

#define IOCTL_PROTOCOL_RESET CTL_CODE(FILE_DEVICE_PROTOCOL, 3 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 49 of file Packet32.h. Referenced by NPF_IoControl().

#define IOCTL_PROTOCOL_STATISTICS CTL_CODE(FILE_DEVICE_PROTOCOL, 2 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 48 of file Packet32.h.

#define IOCTL_PROTOCOL_WRITE CTL_CODE(FILE_DEVICE_PROTOCOL, 5 , METHOD_BUFFERED, FILE_ANY_ACCESS)

| Definition at line 51 of file Packet32.h.

#define MAX_LINK_NAME_LENGTH 64

| Definition at line 174 of file Packet32.h.

#define NMAX_PACKET 65535

| Definition at line 175 of file Packet32.h.

#define Packet_ALIGNMENT sizeof(int)

| Alignment macro. Defines the alignment size. Definition at line 78 of file Packet32.h.

#define PACKET_MODE_CAPT 0x0

| Capture mode. Definition at line 40 of file Packet32.h.

#define PACKET_MODE_DUMP 0x10

| Dump mode. Definition at line 42 of file Packet32.h.

#define PACKET_MODE_STAT 0x1

| Statistical mode. Definition at line 41 of file Packet32.h.

#define PACKET_MODE_STAT_DUMP MODE_DUMP | MODE_STAT

| Statistical dump Mode. Definition at line 43 of file Packet32.h.

#define Packet_WORDALIGN | ( | x |  | ) | (((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1))

| Alignment macro. Rounds up to the next even multiple of Packet_ALIGNMENT. Definition at line 80 of file Packet32.h. Referenced by NPF_Read(), and PrintPackets().

#define pATTACHPROCESS 7117

| IOCTL code: attach a process to the driver. Used in Win9x only. Definition at line 65 of file Packet32.h.

#define pBIOCEVNAME 7415

| IOCTL code: get the name of the event that the driver signals when some data is present in the buffer. Definition at line 68 of file Packet32.h.

#define pBIOCGSTATS 9031

| IOCTL code: get the capture stats. Definition at line 58 of file Packet32.h.

#define pBIOCISDUMPENDED 7411

| IOCTL code: Get the status of the kernel dump process. See the PacketIsDumpEnded() function. Definition at line 72 of file Packet32.h.

#define pBIOCQUERYOID 2147483652

| IOCTL code: get an OID value. Definition at line 64 of file Packet32.h.

#define pBIOCSENDPACKETSNOSYNC 9032

| IOCTL code: Send a buffer containing multiple packets to the network, ignoring the timestamps associated with the packets. Definition at line 69 of file Packet32.h.

#define pBIOCSENDPACKETSSYNC 9033

| IOCTL code: Send a buffer containing multiple packets to the network, respecting the timestamps associated with the packets. Definition at line 70 of file Packet32.h.

#define pBIOCSETBUFFERSIZE 9592

| IOCTL code: set kernel buffer size. Definition at line 56 of file Packet32.h.

#define pBIOCSETDUMPFILENAME 9029

| IOCTL code: set the name of a the file used by kernel dump mode. Definition at line 67 of file Packet32.h.

#define pBIOCSETDUMPLIMITS 9034

| IOCTL code: Set the dump file limits. See the PacketSetDumpLimits() function. Definition at line 71 of file Packet32.h.

#define pBIOCSETF 9030

| IOCTL code: set packet filtering program. Definition at line 57 of file Packet32.h.

#define pBIOCSETOID 2147483648

| IOCTL code: set an OID value. Definition at line 63 of file Packet32.h.

#define pBIOCSMINTOCOPY 7414

| IOCTL code: set minimum amount of data in the kernel buffer that unlocks a read call. Definition at line 62 of file Packet32.h.

#define pBIOCSMODE 7412

| IOCTL code: set working mode. Definition at line 60 of file Packet32.h.

#define pBIOCSRTIMEOUT 7416

| IOCTL code: set the read timeout. Definition at line 59 of file Packet32.h.

#define pBIOCSTIMEZONE 7471

| IOCTL code: set time zone. Used in Win9x only. Definition at line 74 of file Packet32.h.

#define pBIOCSWRITEREP 7413

| IOCTL code: set number of physical repetions of every packet written by the app. Definition at line 61 of file Packet32.h.

#define pDETACHPROCESS 7118

| IOCTL code: detach a process from the driver. Used in Win9x only. Definition at line 66 of file Packet32.h.

## Typedef Documentation

typedef struct _ADAPTER ADAPTER

| Describes a network adapter. This structure is the most important for the functioning of packet.dll, but the great part of its fields should be ignored by the user, since the library offers functions that avoid to cope with low-level parameters

typedef struct _ADAPTER * LPADAPTER

| Describes a network adapter. This structure is the most important for the functioning of packet.dll, but the great part of its fields should be ignored by the user, since the library offers functions that avoid to cope with low-level parameters

typedef struct _PACKET * LPPACKET

| Structure that contains a group of packets coming from the driver. This structure defines the header associated with every packet delivered to the application.

typedef struct NetType NetType

| Network type structure. This structure is used by the PacketGetNetType() function to return information on the current adapter's type and speed.

typedef struct npf_if_addr npf_if_addr

| Addresses of a network adapter. This structure is used by the PacketGetNetInfoEx() function to return the IP addresses associated with an adapter.

typedef struct _PACKET PACKET

| Structure that contains a group of packets coming from the driver. This structure defines the header associated with every packet delivered to the application.

typedef struct _PACKET_OID_DATA PACKET_OID_DATA* PPACKET_OID_DATA

| Definition at line 230 of file Packet32.h. Referenced by NPF_IoControl(), NPF_RequestComplete(), PacketGetAdapterNames(), PacketGetNetType(), PacketSetHwFilter(), and PacketSetMaxLookaheadsize().

documentation. Copyright (c) 2002-2003 Politecnico di Torino. All rights reserved.