Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
airpcap.h
1 /*
2  * Copyright (c) 2006-2007 CACE Technologies, Davis (California)
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #if !defined(AIRPCAP_H__EAE405F5_0171_9592_B3C2_C19EC426AD34__INCLUDED_)
9 #define AIRPCAP_H__EAE405F5_0171_9592_B3C2_C19EC426AD34__INCLUDED_
10 
11 #ifdef _MSC_VER
12 /* This stops VS2005 ranting against stdio. */
13 #pragma warning( disable : 4996)
14 #endif
15 
16 #ifdef _WIN32
17 #include <winsock2.h>
18 #endif
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 /*
25  \mainpage AirPcap interface documentation
26 
27  \section Introduction
28 
29  This document describes the data structures and the functions exported by the CACE Technologies AirPcap library.
30  The AirPcap library provides low-level access to the AirPcap driver including advanced capabilities such as channel setting,
31  link type control and WEP configuration.<br>
32  This manual includes the following sections:
33 
34  \note throughout this documentation, \e device refers to a physical USB AirPcap device, while \e adapter is an open API
35  instance. Most of the AirPcap API operations are adapter-specific but some of them, like setting the channel, are
36  per-device and will be reflected on all the open adapters. These functions will have "Device" in their name, e.g.
37  AirpcapSetDeviceChannel().
38 
39  \b Sections:
40 
41  - \ref airpcapfuncs
42  - \ref airpcapdefs
43  - \ref radiotap
44 */
45 
54 #define AIRPCAP_DEVICE_NAME_PREFIX "\\\\.\\airpcap"
55 
60 #define AIRPCAP_DEVICE_NUMBER_EXTRACT_STRING "\\\\.\\airpcap%u"
61 
62 #define AIRPCAP_DEVICE_ANY_EXTRACT_STRING "\\\\.\\airpcap_any"
63 
68 {
69  struct _AirpcapDeviceDescription *next; /* < Next element in the list */
70  gchar * Name; /* < Device name */
71  gchar * Description; /* < Device description */
73 
74 #define MAX_ENCRYPTION_KEYS 64
75 
76 #define WEP_KEY_MAX_SIZE 32 /* < Maximum size of a WEP key, in bytes. This is the size of an entry in the
77  < AirpcapWepKeysCollection structure. */
78 
79 #ifdef _WIN32
80 #ifndef __MINGW32__
81 #pragma pack(push)
82 #pragma pack(1)
83 #endif
84 #endif
85 
86 #define AIRPCAP_KEYTYPE_WEP 0 /* < Key type: WEP. The key can have an arbitrary length smaller than 32 bytes. */
87 #define AIRPCAP_KEYTYPE_TKIP 1 /* < Key type: TKIP (WPA). NOT SUPPORTED YET. */
88 #define AIRPCAP_KEYTYPE_CCMP 2 /* < Key type: CCMP (WPA2). NOT SUPPORTED YET. */
89 
93 typedef struct _AirpcapKey
94 {
95  guint KeyType; /* < Type of key, can be on of: \ref AIRPCAP_KEYTYPE_WEP, \ref AIRPCAP_KEYTYPE_TKIP, \ref AIRPCAP_KEYTYPE_CCMP. Only AIRPCAP_KEYTYPE_WEP is supported by the driver at the moment. */
96  guint KeyLen; /* < Length of the key, in bytes */
97  guint8 KeyData[WEP_KEY_MAX_SIZE]; /* < Key Data */
98 }
99 #ifdef __MINGW32__
100 __attribute__((__packed__))
101 #endif
103 
110 {
111  AIRPCAP_CB_AUTO = 1, /* < Automatically pick the best frequency band */
112  AIRPCAP_CB_2_4_GHZ = 2, /* < 2.4 GHz frequency band */
113  AIRPCAP_CB_4_GHZ = 4, /* < 4 GHz frequency band */
114  AIRPCAP_CB_5_GHZ = 5 /* < 5 GHz frequency band */
115 }AirpcapChannelBand, *PAirpcapChannelBand;
116 
122 {
123  AIRPCAP_VT_ACCEPT_EVERYTHING = 1, /* < Accept all the frames the device captures */
124  AIRPCAP_VT_ACCEPT_CORRECT_FRAMES = 2, /* < Accept correct frames only, i.e. frames with correct Frame Check Sequence (FCS). */
125  AIRPCAP_VT_ACCEPT_CORRUPT_FRAMES = 3, /* < Accept corrupt frames only, i.e. frames with wrong Frame Check Sequence (FCS). */
126  AIRPCAP_VT_UNKNOWN = 4 /* < Unknown validation type. You should see it only in case of error. */
127 }AirpcapValidationType, *PAirpcapValidationType;
128 
135 {
136  AIRPCAP_DECRYPTION_ON = 1, /* < This adapter performs decryption */
137  AIRPCAP_DECRYPTION_OFF = 2 /* < This adapter does not perform decryption */
138 }AirpcapDecryptionState, *PAirpcapDecryptionState;
139 
140 
144 typedef struct _AirpcapMacAddress
145 {
146  guint8 Address[6]; /* < MAC address bytes */
147 }
148 #ifdef __MINGW32__
149 __attribute__((__packed__))
150 #endif
152 
174 {
175  guint nKeys; /* < Number of keys in the collection */
176  AirpcapKey Keys[1]; /* < Array of nKeys keys. */
178 
179 #define AirpcapKeysCollectionSize(nKeys) \
180  ((sizeof(AirpcapKeysCollection) - sizeof(AirpcapKey)) + ((nKeys) * sizeof(AirpcapKey)))
181 #define AirpcapKeysCollectionSizeToKeyCount(size) \
182  (guint)(((size) - AirpcapKeysCollectionSize(0))/sizeof(AirpcapKey))
183 
189 typedef struct _AirpcapBpfHeader
190 {
191  guint TsSec; /* < Timestamp associated with the captured packet. SECONDS. */
192  guint TsUsec; /* < Timestamp associated with the captured packet. MICROSECONDS. */
193  guint Caplen; /* < Length of captured portion. The captured portion <b>can be different</b> from the original packet, because it is possible (with a proper filter) to instruct the driver to capture only a portion of the packets. */
194  guint Originallen; /* < Original length of packet */
195  guint16 Hdrlen; /* < Length of bpf header (this struct plus alignment padding). In some cases, a padding could be added between the end of this structure and the packet data for performance reasons. This field can be used to retrieve the actual data of the packet. */
196 }
197 #ifdef __MINGW32__
198 __attribute__((__packed__))
199 #endif
201 
202 /* Helper macros to extract packets coming from the driver. Rounds up to the next even multiple of AIRPCAP_ALIGNMENT. */
203 #define AIRPCAP_ALIGNMENT sizeof(int)
204 #define AIRPCAP_WORDALIGN(x) (((x)+(AIRPCAP_ALIGNMENT-1))&~(AIRPCAP_ALIGNMENT-1))
205 
206 #ifdef _WIN32
207 #ifndef __MINGW32__
208 #pragma pack(pop)
209 #endif
210 #endif
211 
212 #define AIRPCAP_ERRBUF_SIZE 512 /* < Size of the error buffer, in bytes */
213 
214 #ifndef __AIRPCAP_DRIVER__
215 
220 #undef _AirpcapLinkType
221 typedef enum _AirpcapLinkType
222 {
223  AIRPCAP_LT_802_11 = 1, /* < plain 802.11 linktype. Every packet in the buffer contains the raw 802.11 frame, including MAC FCS. */
224  AIRPCAP_LT_802_11_PLUS_RADIO = 2, /* < 802.11 plus radiotap linktype. Every packet in the buffer contains a radiotap header followed by the 802.11 frame. MAC FCS is included. */
225  AIRPCAP_LT_UNKNOWN = 3, /* < Unknown linktype. You should see it only in case of error. */
226  AIRPCAP_LT_802_11_PLUS_PPI = 4 /* < 802.11 plus PPI header linktype. Every packet in the buffer contains a PPI header followed by the 802.11 frame. MAC FCS is included. */
227 }AirpcapLinkType, *PAirpcapLinkType;
228 
229 #if !defined(AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_)
230 #define AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_
231 
234 typedef struct _AirpcapHandle AirpcapHandle, *PAirpcapHandle;
235 #endif
236 
241 typedef struct _AirpcapStats
242 {
243  guint Recvs; /* < Number of packets that the driver received by the adapter */
244  /* < from the beginning of the current capture. This value includes the packets */
245  /* < dropped because of buffer full. */
246  guint Drops; /* < number of packets that the driver dropped from the beginning of a capture. */
247  /* < A packet is lost when the the buffer of the driver is full. */
248  guint IfDrops; /* < Packets dropped by the card before going to the USB bus. */
249  /* < Not supported at the moment. */
250  guint Capt; /* < number of packets that pass the BPF filter, find place in the kernel buffer and */
251  /* < therefore reach the application. */
253 
258 typedef struct _AirpcapChannelInfo
259 {
260  guint Frequency; /* < Channel frequency, in MHz. */
271  gint8 ExtChannel;
272  guint8 Reserved[3]; /* < Reserved. It should be set to {0,0,0}. */
273 }
275 
276 
290 void AirpcapGetVersion(guint * VersionMajor, guint * VersionMinor, guint * VersionRev, guint * VersionBuild);
291 
297 gchar * AirpcapGetLastError(PAirpcapHandle AdapterHandle);
298 
328 gboolean AirpcapGetDeviceList(PAirpcapDeviceDescription *PPAllDevs, gchar * Ebuf);
329 
334 void AirpcapFreeDeviceList(PAirpcapDeviceDescription PAllDevs);
335 
342 PAirpcapHandle AirpcapOpen(gchar * DeviceName, gchar * Ebuf);
343 
348 void AirpcapClose(PAirpcapHandle AdapterHandle);
349 
380 gboolean AirpcapSetMonitorMode(PAirpcapHandle AdapterHandle, gboolean MonitorModeEnabled);
381 
392 gboolean AirpcapGetMonitorMode(PAirpcapHandle AdapterHandle, gboolean * PMonitorModeEnabled);
393 
413 gboolean AirpcapSetLinkType(PAirpcapHandle AdapterHandle, AirpcapLinkType NewLinkType);
414 
431 gboolean AirpcapGetLinkType(PAirpcapHandle AdapterHandle, PAirpcapLinkType PLinkType);
432 
446 gboolean AirpcapSetFcsPresence(PAirpcapHandle AdapterHandle, gboolean IsFcsPresent);
447 
461 gboolean AirpcapGetFcsPresence(PAirpcapHandle AdapterHandle, gboolean * PIsFcsPresent);
462 
471 gboolean AirpcapSetFcsValidation(PAirpcapHandle AdapterHandle, AirpcapValidationType ValidationType);
472 
481 gboolean AirpcapGetFcsValidation(PAirpcapHandle AdapterHandle, PAirpcapValidationType ValidationType);
482 
504 gboolean AirpcapSetDeviceKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection);
505 
530 gboolean AirpcapGetDeviceKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection, guint * PKeysCollectionSize);
531 
553 gboolean AirpcapSetDriverKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection);
554 
575 gboolean AirpcapGetDriverKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection, guint * PKeysCollectionSize);
576 
586 gboolean AirpcapSetDecryptionState(PAirpcapHandle AdapterHandle, AirpcapDecryptionState Enable);
587 
597 gboolean AirpcapGetDecryptionState(PAirpcapHandle AdapterHandle, PAirpcapDecryptionState PEnable);
598 
608 gboolean AirpcapSetDriverDecryptionState(PAirpcapHandle AdapterHandle, AirpcapDecryptionState Enable);
609 
619 gboolean AirpcapGetDriverDecryptionState(PAirpcapHandle AdapterHandle, PAirpcapDecryptionState PEnable);
620 
632 gboolean AirpcapSetDeviceChannel(PAirpcapHandle AdapterHandle, guint Channel);
633 
645 gboolean AirpcapGetDeviceChannel(PAirpcapHandle AdapterHandle, guint * PChannel);
646 
661 gboolean AirpcapSetKernelBuffer(PAirpcapHandle AdapterHandle, guint BufferSize);
662 
672 gboolean AirpcapGetKernelBufferSize(PAirpcapHandle AdapterHandle, guint * PSizeBytes);
673 
711 gboolean AirpcapStoreCurConfigAsAdapterDefault(PAirpcapHandle AdapterHandle);
712 
731 gboolean AirpcapSetFilter(PAirpcapHandle AdapterHandle, void * Instructions, guint Len);
732 
740 gboolean AirpcapGetMacAddress(PAirpcapHandle AdapterHandle, PAirpcapMacAddress PMacAddress);
741 
755 gboolean AirpcapSetMinToCopy(PAirpcapHandle AdapterHandle, guint MinToCopy);
756 
767 gboolean AirpcapGetReadEvent(PAirpcapHandle AdapterHandle, void *** PReadEvent);
768 
786 gboolean AirpcapRead(PAirpcapHandle AdapterHandle, guint8 * Buffer, guint BufSize, guint * PReceievedBytes);
787 
805 gboolean AirpcapWrite(PAirpcapHandle AdapterHandle, gchar * TxPacket, guint32 PacketLen);
806 
813 gboolean AirpcapGetStats(PAirpcapHandle AdapterHandle, PAirpcapStats PStats);
814 
821 gboolean AirpcapGetLedsNumber(PAirpcapHandle AdapterHandle, guint * NumberOfLeds);
822 
829 gboolean AirpcapTurnLedOn(PAirpcapHandle AdapterHandle, guint LedNumber);
830 
837 gboolean AirpcapTurnLedOff(PAirpcapHandle AdapterHandle, guint LedNumber);
838 
848 gboolean AirpcapSetDeviceChannelEx(PAirpcapHandle AdapterHandle, AirpcapChannelInfo ChannelInfo);
849 
859 gboolean AirpcapGetDeviceChannelEx(PAirpcapHandle AdapterHandle, PAirpcapChannelInfo PChannelInfo);
860 
875 gboolean AirpcapGetDeviceSupportedChannels(PAirpcapHandle AdapterHandle, PAirpcapChannelInfo *ppChannelInfo, guint * pNumChannelInfo);
876 
885 gboolean AirpcapConvertFrequencyToChannel(guint Frequency, guint * PChannel, PAirpcapChannelBand PBand);
886 
894 gboolean AirpcapConvertChannelToFrequency(guint Channel, guint * PFrequency);
895 
896 
899 #endif /* __AIRPCAP_DRIVER__ */
900 
901 #ifdef __cplusplus
902 }
903 #endif
904 
905 #endif /* !defined(AIRPCAP_H__EAE405F5_0171_9592_B3C2_C19EC426AD34__INCLUDED_) */
gboolean AirpcapGetDeviceChannel(PAirpcapHandle AdapterHandle, guint *PChannel)
Get the radio channel of a device.
gboolean AirpcapTurnLedOn(PAirpcapHandle AdapterHandle, guint LedNumber)
Turn on one of the adapter&#39;s LEDs.
gboolean AirpcapGetFcsPresence(PAirpcapHandle AdapterHandle, gboolean *PIsFcsPresent)
Returns TRUE if the specified adapter includes the MAC Frame Check Sequence in the captured packets...
gboolean AirpcapSetDriverDecryptionState(PAirpcapHandle AdapterHandle, AirpcapDecryptionState Enable)
Turns on or off the decryption of the incoming frames with the global driver set of keys...
PAirpcapHandle AirpcapOpen(gchar *DeviceName, gchar *Ebuf)
Open an adapter.
struct _AirpcapStats AirpcapStats
Capture statistics. Returned by AirpcapGetStats();.
gboolean AirpcapConvertChannelToFrequency(guint Channel, guint *PFrequency)
Converts a given channel to the corresponding frequency.
gboolean AirpcapSetFcsValidation(PAirpcapHandle AdapterHandle, AirpcapValidationType ValidationType)
Configures the adapter to accept or drop frames with an incorrect Frame Check sequence (FCS)...
gboolean AirpcapSetDriverKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection)
Set the global list of decryption keys that the driver is going to use with all the devices...
gboolean AirpcapSetDecryptionState(PAirpcapHandle AdapterHandle, AirpcapDecryptionState Enable)
Turns on or off the decryption of the incoming frames with the adapter-specific keys.
gboolean AirpcapStoreCurConfigAsAdapterDefault(PAirpcapHandle AdapterHandle)
Saves the configuration of the specified adapter in the registry, so that it becomes the default for ...
Entry in the list returned by AirpcapGetDeviceList();.
Definition: airpcap.h:67
gboolean AirpcapSetLinkType(PAirpcapHandle AdapterHandle, AirpcapLinkType NewLinkType)
Set the link type of an adapter.
Definition: buffer.h:21
struct _AirpcapDeviceDescription AirpcapDeviceDescription
Entry in the list returned by AirpcapGetDeviceList();.
Packet header.
Definition: airpcap.h:189
Capture statistics. Returned by AirpcapGetStats();.
Definition: airpcap.h:241
gboolean AirpcapGetDriverDecryptionState(PAirpcapHandle AdapterHandle, PAirpcapDecryptionState PEnable)
Tells if this open instance is configured to perform the decryption of the incoming frames with the g...
gboolean AirpcapTurnLedOff(PAirpcapHandle AdapterHandle, guint LedNumber)
Turn off one of the adapter&#39;s LEDs.
enum _AirpcapDecryptionState AirpcapDecryptionState
Type of decryption the adapter performs. An adapter can be instructed to turn decryption (based on th...
Storage for a MAC address.
Definition: airpcap.h:144
gboolean AirpcapGetDriverKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection, guint *PKeysCollectionSize)
Returns the global list of decryption keys in the driver that are associated with all the devices...
gboolean AirpcapSetMonitorMode(PAirpcapHandle AdapterHandle, gboolean MonitorModeEnabled)
Sets the monitor mode for the specified adapter.
gboolean AirpcapGetDeviceKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection, guint *PKeysCollectionSize)
Returns the list of decryption keys in the driver that are currently associated with the specified de...
gboolean AirpcapGetKernelBufferSize(PAirpcapHandle AdapterHandle, guint *PSizeBytes)
Get the size of the kernel packet buffer for this adapter.
Channel information. Used by AirpcapSetDeviceChannelEx(), AirpcapGetDeviceChannelEx(), AirpcapGetDeviceSupportedChannels()
Definition: airpcap.h:258
struct _AirpcapKeysCollection AirpcapKeysCollection
This structure is used to store a collection of WEP keys. Note that the definition of the structure h...
gboolean AirpcapSetDeviceChannelEx(PAirpcapHandle AdapterHandle, AirpcapChannelInfo ChannelInfo)
Set the channel of a device through its radio frequency. In case of 802.11n enabled devices...
gboolean AirpcapGetReadEvent(PAirpcapHandle AdapterHandle, void ***PReadEvent)
Gets an event that is signaled when that is signalled when packets are available in the kernel buffer...
gboolean AirpcapGetStats(PAirpcapHandle AdapterHandle, PAirpcapStats PStats)
Get per-adapter WinPcap-compatible capture statistics.
struct _AirpcapKey AirpcapKey
WEP key container.
gboolean AirpcapRead(PAirpcapHandle AdapterHandle, guint8 *Buffer, guint BufSize, guint *PReceievedBytes)
Fills a user-provided buffer with zero or more packets that have been captured on the referenced adap...
gboolean AirpcapGetMacAddress(PAirpcapHandle AdapterHandle, PAirpcapMacAddress PMacAddress)
Return the MAC address of an adapter.
gint8 ExtChannel
802.11n specific. Offset of the extension channel in case of 40MHz channels.
Definition: airpcap.h:271
gchar * AirpcapGetLastError(PAirpcapHandle AdapterHandle)
Return the last error related to the specified handle.
This structure is used to store a collection of WEP keys. Note that the definition of the structure h...
Definition: airpcap.h:173
void AirpcapFreeDeviceList(PAirpcapDeviceDescription PAllDevs)
Free a list of devices returned by AirpcapGetDeviceList()
gboolean AirpcapSetDeviceChannel(PAirpcapHandle AdapterHandle, guint Channel)
Set the radio channel of a device.
enum _AirpcapValidationType AirpcapValidationType
Type of frame validation the adapter performs. An adapter can be instructed to accept different kind ...
_AirpcapDecryptionState
Type of decryption the adapter performs. An adapter can be instructed to turn decryption (based on th...
Definition: airpcap.h:134
_AirpcapValidationType
Type of frame validation the adapter performs. An adapter can be instructed to accept different kind ...
Definition: airpcap.h:121
gboolean AirpcapSetDeviceKeys(PAirpcapHandle AdapterHandle, PAirpcapKeysCollection KeysCollection)
Set the list of decryption keys that the driver is going to use with the specified device...
void AirpcapClose(PAirpcapHandle AdapterHandle)
Close an adapter.
struct _AirpcapBpfHeader AirpcapBpfHeader
Packet header.
gboolean AirpcapGetDeviceList(PAirpcapDeviceDescription *PPAllDevs, gchar *Ebuf)
Return the list of available devices.
gboolean AirpcapSetMinToCopy(PAirpcapHandle AdapterHandle, guint MinToCopy)
Set the mintocopy parameter for an open adapter.
struct _AirpcapMacAddress AirpcapMacAddress
Storage for a MAC address.
gboolean AirpcapGetLinkType(PAirpcapHandle AdapterHandle, PAirpcapLinkType PLinkType)
Get the link type of the specified adapter.
gboolean AirpcapGetDeviceChannelEx(PAirpcapHandle AdapterHandle, PAirpcapChannelInfo PChannelInfo)
Get the channel of a device through its radiofrequency. In case of 802.11n enabled devices...
gboolean AirpcapSetFcsPresence(PAirpcapHandle AdapterHandle, gboolean IsFcsPresent)
Configures the adapter on whether to include the MAC Frame Check Sequence in the captured packets...
enum _AirpcapChannelBand AirpcapChannelBand
frequency Band. 802.11 adapters can support different frequency bands, the most important of which ar...
void AirpcapGetVersion(guint *VersionMajor, guint *VersionMinor, guint *VersionRev, guint *VersionBuild)
Return a string with the API version.
struct _AirpcapChannelInfo AirpcapChannelInfo
Channel information. Used by AirpcapSetDeviceChannelEx(), AirpcapGetDeviceChannelEx(), AirpcapGetDeviceSupportedChannels()
enum _AirpcapLinkType AirpcapLinkType
Link type. AirPcap supports two kind of 802.11 linktypes: plain 802.11 and radiotap.
gboolean AirpcapConvertFrequencyToChannel(guint Frequency, guint *PChannel, PAirpcapChannelBand PBand)
Converts a given frequency to the corresponding channel.
gboolean AirpcapGetLedsNumber(PAirpcapHandle AdapterHandle, guint *NumberOfLeds)
Get the number of LEDs the referenced adapter has available.
_AirpcapLinkType
Link type. AirPcap supports two kind of 802.11 linktypes: plain 802.11 and radiotap.
Definition: airpcap.h:221
_AirpcapChannelBand
frequency Band. 802.11 adapters can support different frequency bands, the most important of which ar...
Definition: airpcap.h:109
gboolean AirpcapSetKernelBuffer(PAirpcapHandle AdapterHandle, guint BufferSize)
Set the size of the kernel packet buffer for this adapter.
gboolean AirpcapWrite(PAirpcapHandle AdapterHandle, gchar *TxPacket, guint32 PacketLen)
Transmits a packet.
gboolean AirpcapGetDeviceSupportedChannels(PAirpcapHandle AdapterHandle, PAirpcapChannelInfo *ppChannelInfo, guint *pNumChannelInfo)
Get the list of supported channels for a given device. In case of a 802.11n capable device...
WEP key container.
Definition: airpcap.h:93
gboolean AirpcapGetFcsValidation(PAirpcapHandle AdapterHandle, PAirpcapValidationType ValidationType)
Checks if the specified adapter is configured to capture frames with incorrect an incorrect Frame Che...
gboolean AirpcapSetFilter(PAirpcapHandle AdapterHandle, void *Instructions, guint Len)
Set the BPF kernel filter for an adapter.
struct _AirpcapHandle AirpcapHandle
Adapter handle.
Definition: airpcap.h:234
Definition: address.h:47
gboolean AirpcapGetDecryptionState(PAirpcapHandle AdapterHandle, PAirpcapDecryptionState PEnable)
Tells if this open instance is configured to perform the decryption of the incoming frames with the a...
#define WEP_KEY_MAX_SIZE
Definition: wep-wpadefs.h:33
gboolean AirpcapGetMonitorMode(PAirpcapHandle AdapterHandle, gboolean *PMonitorModeEnabled)
Returns TRUE if the specified adapter is in monitor mode.