Select one of the symbols to view example projects that use it.
 
Outline
#define DRIVER_H
#define WPA_SUPPLICANT_DRIVER_VERSION
#include "common/defs.h"
#include "common/ieee802_11_defs.h"
#include "common/wpa_common.h"
#include "utils/list.h"
wpa_bss
wpa_supplicant
wpa_scan_res
wpa_scan_results
#define WPAS_MAX_SCAN_SSIDS
wpa_driver_scan_ssid
wpa_driver_scan_params
scan_info
wpa_bss_trans_info
wpa_bss_candidate_info
wpa_scan_results_free(struct wpa_scan_results *);
wpa_drv_send_action(struct wpa_supplicant *, unsigned int, unsigned int, const u8 *, size_t, int);
wpa_supplicant_connect(struct wpa_supplicant *, struct wpa_bss *, char *);
Files
ESP-IDF
components
app_trace
app_update
bootloader_support
bt
cmock
console
cxx
driver
efuse
esp_adc
esp_app_format
esp_bootloader_format
esp_coex
esp_common
esp_driver_ana_cmpr
esp_driver_cam
esp_driver_dac
esp_driver_gpio
esp_driver_gptimer
esp_driver_i2c
esp_driver_i2s
esp_driver_jpeg
esp_driver_ledc
esp_driver_mcpwm
esp_driver_parlio
esp_driver_pcnt
esp_driver_rmt
esp_driver_sdio
esp_driver_sdm
esp_driver_sdmmc
esp_driver_sdspi
esp_driver_spi
esp_driver_tsens
esp_driver_uart
esp_driver_usb_serial_jtag
esp_eth
esp_event
esp_gdbstub
esp_hid
esp_http_client
esp_http_server
esp_https_ota
esp_https_server
esp_hw_support
esp_lcd
esp_local_ctrl
esp_mm
esp_netif
esp_partition
esp_phy
esp_pm
esp_psram
esp_ringbuf
esp_rom
esp_security
esp_system
esp_timer
esp_vfs_console
esp_wifi
esp-tls
espcoredump
hal
heap
http_parser
ieee802154
log
mqtt
newlib
nvs_flash
nvs_sec_provider
openthread
perfmon
protobuf-c
protocomm
pthread
rt
sdmmc
soc
spi_flash
spiffs
tcp_transport
ulp
unity
vfs
wear_levelling
wifi_provisioning
wpa_supplicant
esp_supplicant
include
port
src
ap
common
crypto
drivers
eap_common
eap_peer
eap_server
eapol_auth
rsn_supp
tls
utils
wps
xtensa
examples
lwIP
FreeRTOS
cJSON
mbedTLS
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/wpa_supplicant/src/drivers/driver.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * Driver interface definition * Copyright (c) 2003-2017, Jouni Malinen <j@w1.fi> * * This software may be distributed under the terms of the BSD license. * See README for more details. * * This file defines a driver interface used by both %wpa_supplicant and * hostapd. The first part of the file defines data structures used in various * driver operations. This is followed by the struct wpa_driver_ops that each * driver wrapper will beed to define with callback functions for requesting * driver operations. After this, there are definitions for driver event * reporting with wpa_supplicant_event() and some convenience helper functions * that can be used to report events. *//* ... */ #ifndef DRIVER_H #define DRIVER_H #define WPA_SUPPLICANT_DRIVER_VERSION 4 #include "common/defs.h" #include "common/ieee802_11_defs.h" #include "common/wpa_common.h" #include "utils/list.h" struct wpa_bss; struct wpa_supplicant; /** * struct wpa_scan_res - Scan result for an BSS/IBSS * @flags: information flags about the BSS/IBSS (WPA_SCAN_*) * @bssid: BSSID * @freq: frequency of the channel in MHz (e.g., 2412 = channel 1) * @beacon_int: beacon interval in TUs (host byte order) * @caps: capability information field in host byte order * @qual: signal quality * @noise: noise level * @level: signal level * @tsf: Timestamp * @age: Age of the information in milliseconds (i.e., how many milliseconds * ago the last Beacon or Probe Response frame was received) * @snr: Signal-to-noise ratio in dB (calculated during scan result processing) * @parent_tsf: Time when the Beacon/Probe Response frame was received in terms * of TSF of the BSS specified by %tsf_bssid. * @tsf_bssid: The BSS that %parent_tsf TSF time refers to. * @ie_len: length of the following IE field in octets * @beacon_ie_len: length of the following Beacon IE field in octets * * This structure is used as a generic format for scan results from the * driver. Each driver interface implementation is responsible for converting * the driver or OS specific scan results into this format. * * If the driver does not support reporting all IEs, the IE data structure is * constructed of the IEs that are available. This field will also need to * include SSID in IE format. All drivers are encouraged to be extended to * report all IEs to make it easier to support future additions. * * This structure data is followed by ie_len octets of IEs from Probe Response * frame (or if the driver does not indicate source of IEs, these may also be * from Beacon frame). After the first set of IEs, another set of IEs may follow * (with beacon_ie_len octets of data) if the driver provides both IE sets. *//* ... */ struct wpa_scan_res { unsigned int flags; u8 bssid[ETH_ALEN]; int chan; u16 beacon_int; u16 caps; int noise; int level; u64 tsf; unsigned int age; u64 parent_tsf; u8 tsf_bssid[ETH_ALEN]; size_t ie_len; size_t beacon_ie_len; /* Followed by ie_len + beacon_ie_len octets of IE data */ }{ ... }; /** * struct wpa_scan_results - Scan results * @res: Array of pointers to allocated variable length scan result entries * @num: Number of entries in the scan result array * @fetch_time: Time when the results were fetched from the driver *//* ... */ struct wpa_scan_results { struct wpa_scan_res **res; size_t num; struct os_reltime fetch_time; }{ ... }; #define WPAS_MAX_SCAN_SSIDS 1 /** * struct wpa_driver_scan_ssid - SSIDs to scan for * @ssid - specific SSID to scan for (ProbeReq) * %NULL or zero-length SSID is used to indicate active scan * with wildcard SSID. * @ssid_len - Length of the SSID in octets *//* ... */ struct wpa_driver_scan_ssid { const u8 *ssid; size_t ssid_len; }{ ... }; /** * struct wpa_driver_scan_params - Scan parameters * Data for struct wpa_driver_ops::scan2(). *//* ... */ struct wpa_driver_scan_params { /** * ssids - SSIDs to scan for *//* ... */ struct wpa_driver_scan_ssid ssids[WPAS_MAX_SCAN_SSIDS]; /** * num_ssids - Number of entries in ssids array * Zero indicates a request for a passive scan. *//* ... */ size_t num_ssids; /** * freqs - Array of frequencies to scan or %NULL for all frequencies * * The frequency is set in MHz. The array is zero-terminated. *//* ... */ int channel; /** * bssid - Specific BSSID to scan for * * This optional parameter can be used to replace the default wildcard * BSSID with a specific BSSID to scan for if results are needed from * only a single BSS. *//* ... */ const u8 *bssid; /** * duration - Dwell time on each channel * * This optional parameter can be used to set the dwell time on each * channel. In TUs. *//* ... */ u16 duration; unsigned int duration_mandatory; u8 mode; }{ ... }; /** * struct scan_info - Optional data for EVENT_SCAN_RESULTS events * @aborted: Whether the scan was aborted * @freqs: Scanned frequencies in MHz (%NULL = all channels scanned) * @num_freqs: Number of entries in freqs array * @ssids: Scanned SSIDs (%NULL or zero-length SSID indicates wildcard * SSID) * @num_ssids: Number of entries in ssids array * @external_scan: Whether the scan info is for an external scan * @nl_scan_event: 1 if the source of this scan event is a normal scan, * 0 if the source of the scan event is a vendor scan * @scan_start_tsf: Time when the scan started in terms of TSF of the * BSS that the interface that requested the scan is connected to * (if available). * @scan_start_tsf_bssid: The BSSID according to which %scan_start_tsf * is set. *//* ... */ struct scan_info { int aborted; const int *freqs; size_t num_freqs; struct wpa_driver_scan_ssid ssids[WPAS_MAX_SCAN_SSIDS]; size_t num_ssids; int external_scan; int nl_scan_event; u64 scan_start_tsf; u8 scan_start_tsf_bssid[ETH_ALEN]; }{ ... }; struct wpa_bss_trans_info { u8 mbo_transition_reason; u8 n_candidates; u8 *bssid; }{ ... }; struct wpa_bss_candidate_info { u8 num; struct candidate_list { u8 bssid[ETH_ALEN]; u8 is_accept; u32 reject_reason; }{ ... } *candidates; }{ ... }; /* driver_common.c */ void wpa_scan_results_free(struct wpa_scan_results *res); int wpa_drv_send_action(struct wpa_supplicant *wpa_s, unsigned int chan, unsigned int wait, const u8 *data, size_t data_len, int no_cck); void wpa_supplicant_connect(struct wpa_supplicant *wpa_s, struct wpa_bss *bss, char *ssid);/* ... */ #endif /* DRIVER_H */
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.