Zephyr API Documentation 4.0.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
wifi_mgmt.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017 Intel Corporation.
3 * Copyright 2024 NXP
4 * Copyright (c) 2024 Nordic Semiconductor ASA
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
14#ifndef ZEPHYR_INCLUDE_NET_WIFI_MGMT_H_
15#define ZEPHYR_INCLUDE_NET_WIFI_MGMT_H_
16
17#include <zephyr/net/net_mgmt.h>
18#include <zephyr/net/wifi.h>
19#include <zephyr/net/ethernet.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
31/* Management part definitions */
32
35#define _NET_WIFI_LAYER NET_MGMT_LAYER_L2
36#define _NET_WIFI_CODE 0x156
37#define _NET_WIFI_BASE (NET_MGMT_IFACE_BIT | \
38 NET_MGMT_LAYER(_NET_WIFI_LAYER) | \
39 NET_MGMT_LAYER_CODE(_NET_WIFI_CODE))
40#define _NET_WIFI_EVENT (_NET_WIFI_BASE | NET_MGMT_EVENT_BIT)
41
42#ifdef CONFIG_WIFI_MGMT_SCAN_SSID_FILT_MAX
43#define WIFI_MGMT_SCAN_SSID_FILT_MAX CONFIG_WIFI_MGMT_SCAN_SSID_FILT_MAX
44#else
45#define WIFI_MGMT_SCAN_SSID_FILT_MAX 1
46#endif /* CONFIG_WIFI_MGMT_SCAN_SSID_FILT_MAX */
47
48#ifdef CONFIG_WIFI_MGMT_SCAN_CHAN_MAX_MANUAL
49#define WIFI_MGMT_SCAN_CHAN_MAX_MANUAL CONFIG_WIFI_MGMT_SCAN_CHAN_MAX_MANUAL
50#else
51#define WIFI_MGMT_SCAN_CHAN_MAX_MANUAL 1
52#endif /* CONFIG_WIFI_MGMT_SCAN_CHAN_MAX_MANUAL */
53
54#ifdef CONFIG_WIFI_ENT_IDENTITY_MAX_USERS
55#define WIFI_ENT_IDENTITY_MAX_USERS CONFIG_WIFI_ENT_IDENTITY_MAX_USERS
56#else
57#define WIFI_ENT_IDENTITY_MAX_USERS 1
58#endif /* CONFIG_WIFI_ENT_IDENTITY_MAX_USERS */
59
60#define WIFI_MGMT_BAND_STR_SIZE_MAX 8
61#define WIFI_MGMT_SCAN_MAX_BSS_CNT 65535
62
63#define WIFI_MGMT_SKIP_INACTIVITY_POLL IS_ENABLED(CONFIG_WIFI_MGMT_AP_STA_SKIP_INACTIVITY_POLL)
142
144#define NET_REQUEST_WIFI_SCAN \
145 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_SCAN)
146
148
150#define NET_REQUEST_WIFI_CONNECT \
151 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_CONNECT)
152
154
156#define NET_REQUEST_WIFI_DISCONNECT \
157 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_DISCONNECT)
158
160
162#define NET_REQUEST_WIFI_AP_ENABLE \
163 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_AP_ENABLE)
164
166
168#define NET_REQUEST_WIFI_AP_DISABLE \
169 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_AP_DISABLE)
170
172
174#define NET_REQUEST_WIFI_AP_RTS_THRESHOLD \
175 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_AP_RTS_THRESHOLD)
176
178
180#define NET_REQUEST_WIFI_IFACE_STATUS \
181 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_IFACE_STATUS)
182
184
185#define NET_REQUEST_WIFI_11K_CONFIG \
186 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_11K_CONFIG)
187
189
190#define NET_REQUEST_WIFI_11K_NEIGHBOR_REQUEST \
191 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_11K_NEIGHBOR_REQUEST)
192
194
196#define NET_REQUEST_WIFI_PS \
197 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_PS)
198
200
202#define NET_REQUEST_WIFI_TWT \
203 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_TWT)
204
206
207#define NET_REQUEST_WIFI_BTWT \
208 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_BTWT)
209
211
213#define NET_REQUEST_WIFI_PS_CONFIG \
214 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_PS_CONFIG)
215
217
219#define NET_REQUEST_WIFI_REG_DOMAIN \
220 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_REG_DOMAIN)
221
223
225#define NET_REQUEST_WIFI_MODE \
226 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_MODE)
227
229
231#define NET_REQUEST_WIFI_PACKET_FILTER \
232 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_PACKET_FILTER)
233
235
237#define NET_REQUEST_WIFI_CHANNEL \
238 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_CHANNEL)
239
241
243#define NET_REQUEST_WIFI_AP_STA_DISCONNECT \
244 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_AP_STA_DISCONNECT)
245
247
249#define NET_REQUEST_WIFI_VERSION \
250 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_VERSION)
251
253
255#define NET_REQUEST_WIFI_CONN_PARAMS \
256 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_CONN_PARAMS)
257
259
261#define NET_REQUEST_WIFI_RTS_THRESHOLD \
262 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_RTS_THRESHOLD)
263
265
267#define NET_REQUEST_WIFI_AP_CONFIG_PARAM \
268 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_AP_CONFIG_PARAM)
269
271
272#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP
274#define NET_REQUEST_WIFI_DPP \
275 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_DPP)
276
277NET_MGMT_DEFINE_REQUEST_HANDLER(NET_REQUEST_WIFI_DPP);
278#endif /* CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP */
279
280#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_WNM
282#define NET_REQUEST_WIFI_BTM_QUERY (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_BTM_QUERY)
283
284NET_MGMT_DEFINE_REQUEST_HANDLER(NET_REQUEST_WIFI_BTM_QUERY);
285#endif
286
288#define NET_REQUEST_WIFI_PMKSA_FLUSH \
289 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_PMKSA_FLUSH)
290
292
294#define NET_REQUEST_WIFI_ENTERPRISE_CREDS \
295 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_ENTERPRISE_CREDS)
296
298
300#define NET_REQUEST_WIFI_RTS_THRESHOLD_CONFIG \
301 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_RTS_THRESHOLD_CONFIG)
302
304
305#define NET_REQUEST_WIFI_WPS_CONFIG (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_WPS_CONFIG)
306
308#ifdef CONFIG_WIFI_CREDENTIALS_CONNECT_STORED
309#define NET_REQUEST_WIFI_CONNECT_STORED (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_CONNECT_STORED)
310
311NET_MGMT_DEFINE_REQUEST_HANDLER(NET_REQUEST_WIFI_CONNECT_STORED);
312#endif
313
314#define NET_REQUEST_WIFI_START_ROAMING \
315 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_START_ROAMING)
316
318
319#define NET_REQUEST_WIFI_NEIGHBOR_REP_COMPLETE \
320 (_NET_WIFI_BASE | NET_REQUEST_WIFI_CMD_NEIGHBOR_REP_COMPLETE)
321
323
363
365#define NET_EVENT_WIFI_SCAN_RESULT \
366 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_SCAN_RESULT)
367
369#define NET_EVENT_WIFI_SCAN_DONE \
370 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_SCAN_DONE)
371
373#define NET_EVENT_WIFI_CONNECT_RESULT \
374 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_CONNECT_RESULT)
375
377#define NET_EVENT_WIFI_DISCONNECT_RESULT \
378 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_DISCONNECT_RESULT)
379
381#define NET_EVENT_WIFI_IFACE_STATUS \
382 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_IFACE_STATUS)
383
385#define NET_EVENT_WIFI_TWT \
386 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_TWT)
387
389#define NET_EVENT_WIFI_TWT_SLEEP_STATE \
390 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_TWT_SLEEP_STATE)
391
393#define NET_EVENT_WIFI_RAW_SCAN_RESULT \
394 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_RAW_SCAN_RESULT)
395
397#define NET_EVENT_WIFI_DISCONNECT_COMPLETE \
398 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_DISCONNECT_COMPLETE)
399
401#define NET_EVENT_WIFI_SIGNAL_CHANGE \
402 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_SIGNAL_CHANGE)
403
405#define NET_EVENT_WIFI_NEIGHBOR_REP_COMP \
406 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_NEIGHBOR_REP_COMPLETE)
407
409#define NET_EVENT_WIFI_AP_ENABLE_RESULT \
410 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_AP_ENABLE_RESULT)
411
413#define NET_EVENT_WIFI_AP_DISABLE_RESULT \
414 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_AP_DISABLE_RESULT)
415
417#define NET_EVENT_WIFI_AP_STA_CONNECTED \
418 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_AP_STA_CONNECTED)
419
421#define NET_EVENT_WIFI_AP_STA_DISCONNECTED \
422 (_NET_WIFI_EVENT | NET_EVENT_WIFI_CMD_AP_STA_DISCONNECTED)
423
427 const char *drv_version;
429 const char *fw_version;
430};
431
441
493
519
591
618
634
656
670
706
733
804
807/* Flow ID is only 3 bits */
808#define WIFI_MAX_TWT_FLOWS 8
809#define WIFI_MAX_TWT_INTERVAL_US (LONG_MAX - 1)
810/* 256 (u8) * 1TU */
811#define WIFI_MAX_TWT_WAKE_INTERVAL_US 262144
812#define WIFI_MAX_TWT_WAKE_AHEAD_DURATION_US (LONG_MAX - 1)
813#define WIFI_MAX_TWT_EXPONENT 31
814
840
880
886 struct wifi_twt_flow_info twt_flows[WIFI_MAX_TWT_FLOWS];
889};
890
898
908
910#define MAX_REG_CHAN_NUM 42
911
915 unsigned short center_frequency;
917 unsigned short max_power:8;
919 unsigned short supported:1;
921 unsigned short passive_only:1;
923 unsigned short dfs:1;
924} __packed;
925
941
949
950#if defined(CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS) || defined(__DOXYGEN__)
958 unsigned short frequency;
960 uint8_t data[CONFIG_WIFI_MGMT_RAW_SCAN_RESULT_LENGTH];
961};
962#endif /* CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS */
963
975
978/* for use in max info size calculations */
979union wifi_mgmt_events {
980 struct wifi_scan_result scan_result;
981 struct wifi_status connect_status;
982 struct wifi_iface_status iface_status;
983#ifdef CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS
984 struct wifi_raw_scan_result raw_scan_result;
985#endif /* CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS */
986 struct wifi_twt_params twt_params;
987 struct wifi_ap_sta_info ap_sta_info;
988};
989
1001
1013
1023
1025#define WIFI_AP_STA_MAX_INACTIVITY (LONG_MAX - 1)
1026#define WIFI_AP_IEEE_80211_CAPAB_MAX_LEN 64
1039#if defined(CONFIG_WIFI_NM_HOSTAPD_AP)
1041 char ht_capab[WIFI_AP_IEEE_80211_CAPAB_MAX_LEN + 1];
1043 char vht_capab[WIFI_AP_IEEE_80211_CAPAB_MAX_LEN + 1];
1044#endif
1045};
1046
1047#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP
1050#define WIFI_DPP_QRCODE_MAX_LEN 255
1051
1053enum wifi_dpp_op {
1055 WIFI_DPP_OP_INVALID = 0,
1057 WIFI_DPP_CONFIGURATOR_ADD,
1059 WIFI_DPP_AUTH_INIT,
1061 WIFI_DPP_QR_CODE,
1063 WIFI_DPP_CHIRP,
1065 WIFI_DPP_LISTEN,
1067 WIFI_DPP_BOOTSTRAP_GEN,
1069 WIFI_DPP_BOOTSTRAP_GET_URI,
1071 WIFI_DPP_SET_CONF_PARAM,
1073 WIFI_DPP_SET_WAIT_RESP_TIME,
1075 WIFI_DPP_RECONFIG
1076};
1077
1079enum wifi_dpp_curves {
1081 WIFI_DPP_CURVES_DEFAULT = 0,
1083 WIFI_DPP_CURVES_P_256,
1085 WIFI_DPP_CURVES_P_384,
1087 WIFI_DPP_CURVES_P_512,
1089 WIFI_DPP_CURVES_BP_256,
1091 WIFI_DPP_CURVES_BP_384,
1093 WIFI_DPP_CURVES_BP_512
1094};
1095
1097enum wifi_dpp_role {
1099 WIFI_DPP_ROLE_UNSET = 0,
1101 WIFI_DPP_ROLE_CONFIGURATOR,
1103 WIFI_DPP_ROLE_ENROLLEE,
1105 WIFI_DPP_ROLE_EITHER
1106};
1107
1112enum wifi_dpp_conf {
1114 WIFI_DPP_CONF_UNSET = 0,
1116 WIFI_DPP_CONF_STA,
1118 WIFI_DPP_CONF_AP,
1120 WIFI_DPP_CONF_QUERY
1121};
1122
1127enum wifi_dpp_bootstrap_type {
1129 WIFI_DPP_BOOTSTRAP_TYPE_UNSET = 0,
1131 WIFI_DPP_BOOTSTRAP_TYPE_QRCODE,
1133 WIFI_DPP_BOOTSTRAP_TYPE_PKEX,
1135 WIFI_DPP_BOOTSTRAP_TYPE_NFC_URI
1136};
1137
1139struct wifi_dpp_configurator_add_params {
1141 int curve;
1143 int net_access_key_curve;
1144};
1145
1147struct wifi_dpp_auth_init_params {
1149 int peer;
1151 int configurator;
1153 int role;
1155 int conf;
1157 char ssid[WIFI_SSID_MAX_LEN + 1];
1158};
1159
1161struct wifi_dpp_chirp_params {
1163 int id;
1165 int freq;
1166};
1167
1169struct wifi_dpp_listen_params {
1171 int freq;
1173 int role;
1174};
1175
1177struct wifi_dpp_bootstrap_gen_params {
1179 int type;
1181 int op_class;
1183 int chan;
1185 int curve;
1188};
1189
1191struct wifi_dpp_configurator_set_params {
1193 int peer;
1195 int configurator;
1197 int role;
1199 int conf;
1201 int curve;
1203 int net_access_key_curve;
1205 char ssid[WIFI_SSID_MAX_LEN + 1];
1206};
1207
1210struct wifi_dpp_params {
1212 int action;
1213 union {
1215 struct wifi_dpp_configurator_add_params configurator_add;
1217 struct wifi_dpp_auth_init_params auth_init;
1219 struct wifi_dpp_chirp_params chirp;
1221 struct wifi_dpp_listen_params listen;
1223 struct wifi_dpp_bootstrap_gen_params bootstrap_gen;
1225 struct wifi_dpp_configurator_set_params configurator_set;
1227 int id;
1229 int dpp_resp_wait_time;
1231 int network_id;
1233 uint8_t dpp_qr_code[WIFI_DPP_QRCODE_MAX_LEN + 1];
1238 char resp[WIFI_DPP_QRCODE_MAX_LEN + 1];
1239 };
1240};
1241#endif /* CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP */
1242
1243#define WIFI_WPS_PIN_MAX_LEN 8
1244
1254
1262
1275
1276/* Extended Capabilities */
1284
1285#include <zephyr/net/net_if.h>
1286
1293typedef void (*scan_result_cb_t)(struct net_if *iface, int status,
1294 struct wifi_scan_result *entry);
1295
1296#ifdef CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS
1303typedef void (*raw_scan_result_cb_t)(struct net_if *iface, int status,
1304 struct wifi_raw_scan_result *entry);
1305#endif /* CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS */
1306
1320 int (*scan)(const struct device *dev,
1321 struct wifi_scan_params *params,
1322 scan_result_cb_t cb);
1330 int (*connect)(const struct device *dev,
1331 struct wifi_connect_req_params *params);
1338 int (*disconnect)(const struct device *dev);
1346 int (*ap_enable)(const struct device *dev,
1347 struct wifi_connect_req_params *params);
1354 int (*ap_disable)(const struct device *dev);
1362 int (*ap_sta_disconnect)(const struct device *dev, const uint8_t *mac);
1370 int (*iface_status)(const struct device *dev, struct wifi_iface_status *status);
1371#if defined(CONFIG_NET_STATISTICS_WIFI) || defined(__DOXYGEN__)
1379 int (*get_stats)(const struct device *dev, struct net_stats_wifi *stats);
1386 int (*reset_stats)(const struct device *dev);
1387#endif /* CONFIG_NET_STATISTICS_WIFI */
1395 int (*cfg_11k)(const struct device *dev, struct wifi_11k_params *params);
1403 int (*send_11k_neighbor_request)(const struct device *dev, struct wifi_11k_params *params);
1411 int (*set_power_save)(const struct device *dev, struct wifi_ps_params *params);
1419 int (*set_twt)(const struct device *dev, struct wifi_twt_params *params);
1427 int (*set_btwt)(const struct device *dev, struct wifi_twt_params *params);
1435 int (*get_power_save_config)(const struct device *dev, struct wifi_ps_config *config);
1443 int (*reg_domain)(const struct device *dev, struct wifi_reg_domain *reg_domain);
1451 int (*filter)(const struct device *dev, struct wifi_filter_info *filter);
1459 int (*mode)(const struct device *dev, struct wifi_mode_info *mode);
1467 int (*channel)(const struct device *dev, struct wifi_channel_info *channel);
1468#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_WNM
1476 int (*btm_query)(const struct device *dev, uint8_t reason);
1477#endif
1485 int (*bss_ext_capab)(const struct device *dev, int capab);
1486
1493 int (*legacy_roam)(const struct device *dev);
1494
1507 int (*get_version)(const struct device *dev, struct wifi_version *params);
1515 int (*get_conn_params)(const struct device *dev, struct wifi_connect_req_params *params);
1523 int (*set_rts_threshold)(const struct device *dev, unsigned int rts_threshold);
1531 int (*ap_config_params)(const struct device *dev, struct wifi_ap_config_params *params);
1532
1533#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP
1541 int (*dpp_dispatch)(const struct device *dev, struct wifi_dpp_params *params);
1542#endif /* CONFIG_WIFI_NM_WPA_SUPPLICANT_DPP */
1549 int (*pmksa_flush)(const struct device *dev);
1557#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
1558 int (*enterprise_creds)(const struct device *dev,
1559 struct wifi_enterprise_creds_params *creds);
1560#endif
1568 int (*get_rts_threshold)(const struct device *dev, unsigned int *rts_threshold);
1576 int (*wps_config)(const struct device *dev, struct wifi_wps_config_params *params);
1584 int (*candidate_scan)(const struct device *dev, struct wifi_scan_params *params);
1591 int (*start_11r_roaming)(const struct device *dev);
1592};
1593
1602#if defined(CONFIG_WIFI_USE_NATIVE_NETWORKING) || defined(__DOXYGEN__)
1605#else
1608#endif
1610 const struct wifi_mgmt_ops *const wifi_mgmt_api;
1611
1612#if defined(CONFIG_WIFI_NM_WPA_SUPPLICANT) || defined(__DOXYGEN__)
1614 const void *wifi_drv_ops;
1615#endif
1616};
1617
1618#if defined(CONFIG_WIFI_NM_WPA_SUPPLICANT)
1619/* Make sure wifi_drv_ops is after wifi_mgmt_api */
1620BUILD_ASSERT(offsetof(struct net_wifi_mgmt_offload, wifi_mgmt_api) <
1621 offsetof(struct net_wifi_mgmt_offload, wifi_drv_ops));
1622#endif
1623
1624/* Make sure that the network interface API is properly setup inside
1625 * Wifi mgmt offload API struct (it is the first one).
1626 */
1627BUILD_ASSERT(offsetof(struct net_wifi_mgmt_offload, wifi_iface) == 0);
1628
1634void wifi_mgmt_raise_connect_result_event(struct net_if *iface, int status);
1635
1641void wifi_mgmt_raise_disconnect_result_event(struct net_if *iface, int status);
1642
1650
1657 struct wifi_twt_params *twt_params);
1658
1664void wifi_mgmt_raise_twt_sleep_state(struct net_if *iface, int twt_sleep_state);
1665
1666#if defined(CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS) || defined(__DOXYGEN__)
1673 struct wifi_raw_scan_result *raw_scan_info);
1674#endif /* CONFIG_WIFI_MGMT_RAW_SCAN_RESULTS */
1675
1682
1683#ifdef CONFIG_WIFI_NM_WPA_SUPPLICANT_ROAMING
1690void wifi_mgmt_raise_neighbor_rep_recv_event(struct net_if *iface,
1691 char *inbuf, size_t buf_len);
1692#endif
1693
1700
1707
1714 struct wifi_ap_sta_info *sta_info);
1715
1721 struct wifi_ap_sta_info *sta_info);
1722
1726#ifdef __cplusplus
1727}
1728#endif
1729
1730#endif /* ZEPHYR_INCLUDE_NET_WIFI_MGMT_H_ */
Ethernet.
#define NET_MGMT_DEFINE_REQUEST_HANDLER(_mgmt_request)
Declare a request handler function for the given network event.
Definition net_mgmt.h:111
void wifi_mgmt_raise_connect_result_event(struct net_if *iface, int status)
Wi-Fi management connect result event.
wifi_ext_capab
Definition wifi_mgmt.h:1277
wifi_sap_iface_state
Wi-Fi AP status.
Definition wifi_mgmt.h:1265
wifi_ps
Wi-Fi power save states.
Definition wifi.h:412
#define NET_REQUEST_WIFI_PS_CONFIG
Request a Wi-Fi power save configuration.
Definition wifi_mgmt.h:213
void wifi_mgmt_raise_twt_sleep_state(struct net_if *iface, int twt_sleep_state)
Wi-Fi management TWT sleep state event.
#define NET_REQUEST_WIFI_SCAN
Request a Wi-Fi scan.
Definition wifi_mgmt.h:144
wifi_frequency_bands
IEEE 802.11 operational frequency bands (not exhaustive).
Definition wifi.h:231
wifi_mfp_options
IEEE 802.11w - Management frame protection.
Definition wifi.h:210
#define NET_REQUEST_WIFI_RTS_THRESHOLD
Request a Wi-Fi RTS threshold.
Definition wifi_mgmt.h:261
#define WIFI_WPS_PIN_MAX_LEN
Definition wifi_mgmt.h:1243
#define NET_REQUEST_WIFI_RTS_THRESHOLD_CONFIG
Request a Wi-Fi RTS threshold configuration.
Definition wifi_mgmt.h:300
#define WIFI_MAC_ADDR_LEN
MAC address length.
Definition wifi.h:280
#define NET_REQUEST_WIFI_REG_DOMAIN
Request a Wi-Fi regulatory domain.
Definition wifi_mgmt.h:219
wifi_ps_exit_strategy
Wi-Fi power save exit strategy.
Definition wifi.h:621
#define NET_REQUEST_WIFI_PACKET_FILTER
Request Wi-Fi packet filter.
Definition wifi_mgmt.h:231
wifi_twt_setup_cmd
Wi-Fi Target Wake Time (TWT) setup commands.
Definition wifi.h:494
#define NET_REQUEST_WIFI_NEIGHBOR_REP_COMPLETE
Definition wifi_mgmt.h:319
wifi_twt_sleep_state
Wi-Fi TWT sleep states.
Definition wifi_mgmt.h:943
void wifi_mgmt_raise_twt_event(struct net_if *iface, struct wifi_twt_params *twt_params)
Wi-Fi management TWT event.
wifi_frequency_bandwidths
IEEE 802.11 operational frequency bandwidths (not exhaustive).
Definition wifi.h:253
void wifi_mgmt_raise_disconnect_result_event(struct net_if *iface, int status)
Wi-Fi management disconnect result event.
#define NET_REQUEST_WIFI_IFACE_STATUS
Request a Wi-Fi network interface status.
Definition wifi_mgmt.h:180
#define NET_REQUEST_WIFI_VERSION
Request a Wi-Fi version.
Definition wifi_mgmt.h:249
wifi_wpa3_enterprise_type
WPA3 Enterprise security types.
Definition wifi.h:116
void wifi_mgmt_raise_ap_sta_disconnected_event(struct net_if *iface, struct wifi_ap_sta_info *sta_info)
Wi-Fi management AP mode STA disconnected event.
#define NET_REQUEST_WIFI_11K_NEIGHBOR_REQUEST
Definition wifi_mgmt.h:190
wifi_wps_op
Operation for WPS.
Definition wifi_mgmt.h:1246
wifi_twt_setup_resp_status
Wi-Fi Target Wake Time (TWT) negotiation status.
Definition wifi.h:517
wifi_iface_mode
Wi-Fi interface modes.
Definition wifi.h:345
#define NET_REQUEST_WIFI_AP_ENABLE
Request a Wi-Fi access point enable.
Definition wifi_mgmt.h:162
#define NET_REQUEST_WIFI_WPS_CONFIG
Definition wifi_mgmt.h:305
#define WIFI_COUNTRY_CODE_LEN
Length of the country code string.
Definition wifi.h:28
void wifi_mgmt_raise_ap_enable_result_event(struct net_if *iface, enum wifi_ap_status status)
Wi-Fi management AP mode enable result event.
#define NET_REQUEST_WIFI_PS
Request a Wi-Fi power save.
Definition wifi_mgmt.h:196
wifi_twt_negotiation_type
Wi-Fi Target Wake Time (TWT) negotiation types.
Definition wifi.h:481
void wifi_mgmt_raise_raw_scan_result_event(struct net_if *iface, struct wifi_raw_scan_result *raw_scan_info)
Wi-Fi management raw scan result event.
void wifi_mgmt_raise_iface_status_event(struct net_if *iface, struct wifi_iface_status *iface_status)
Wi-Fi management interface status event.
wifi_ap_config_param
Wi-Fi AP mode configuration parameter.
Definition wifi.h:698
wifi_conn_status
Wi-Fi connect result codes.
Definition wifi_mgmt.h:595
#define NET_REQUEST_WIFI_START_ROAMING
Definition wifi_mgmt.h:314
#define NET_REQUEST_WIFI_PMKSA_FLUSH
Request a Wi-Fi PMKSA cache entries flush.
Definition wifi_mgmt.h:288
#define NET_REQUEST_WIFI_DISCONNECT
Request a Wi-Fi disconnect.
Definition wifi_mgmt.h:156
wifi_twt_fail_reason
Target Wake Time (TWT) error codes.
Definition wifi.h:525
#define NET_REQUEST_WIFI_AP_RTS_THRESHOLD
Request a Wi-Fi RTS threshold.
Definition wifi_mgmt.h:174
net_request_wifi_cmd
Wi-Fi management commands.
Definition wifi_mgmt.h:67
#define NET_REQUEST_WIFI_MODE
Request current Wi-Fi mode.
Definition wifi_mgmt.h:225
#define NET_REQUEST_WIFI_AP_STA_DISCONNECT
Request a Wi-Fi access point to disconnect a station.
Definition wifi_mgmt.h:243
void wifi_mgmt_raise_disconnect_complete_event(struct net_if *iface, int status)
Wi-Fi management disconnect complete event.
#define NET_REQUEST_WIFI_CONNECT
Request a Wi-Fi connect.
Definition wifi_mgmt.h:150
wifi_ap_status
Wi-Fi AP mode result codes.
Definition wifi_mgmt.h:638
#define NET_REQUEST_WIFI_TWT
Request a Wi-Fi TWT.
Definition wifi_mgmt.h:202
wifi_link_mode
Wi-Fi link operating modes.
Definition wifi.h:373
wifi_ps_param_type
Wi-Fi power save parameters.
Definition wifi.h:592
net_event_wifi_cmd
Wi-Fi management events.
Definition wifi_mgmt.h:325
#define NET_REQUEST_WIFI_CONN_PARAMS
Request a Wi-Fi connection parameters.
Definition wifi_mgmt.h:255
wifi_disconn_reason
Wi-Fi disconnect reason codes.
Definition wifi_mgmt.h:622
wifi_ps_wakeup_mode
Wi-Fi power save modes.
Definition wifi.h:608
void wifi_mgmt_raise_ap_sta_connected_event(struct net_if *iface, struct wifi_ap_sta_info *sta_info)
Wi-Fi management AP mode STA connected event.
wifi_twt_operation
Wi-Fi Target Wake Time (TWT) operations.
Definition wifi.h:470
wifi_scan_type
Wi-Fi scanning types.
Definition wifi.h:404
void(* scan_result_cb_t)(struct net_if *iface, int status, struct wifi_scan_result *entry)
Scan result callback.
Definition wifi_mgmt.h:1293
wifi_twt_teardown_status
Wi-Fi Target Wake Time (TWT) teradown status.
Definition wifi.h:551
#define WIFI_SSID_MAX_LEN
Max SSID length.
Definition wifi.h:272
#define NET_REQUEST_WIFI_CHANNEL
Request a Wi-Fi channel.
Definition wifi_mgmt.h:237
wifi_config_ps_param_fail_reason
Wi-Fi power save error codes.
Definition wifi.h:637
#define NET_REQUEST_WIFI_11K_CONFIG
Definition wifi_mgmt.h:185
wifi_security_type
IEEE 802.11 security types.
Definition wifi.h:42
void wifi_mgmt_raise_ap_disable_result_event(struct net_if *iface, enum wifi_ap_status status)
Wi-Fi management AP mode disable result event.
wifi_mgmt_op
Generic get/set operation for any command.
Definition wifi_mgmt.h:892
#define NET_REQUEST_WIFI_ENTERPRISE_CREDS
Set Wi-Fi enterprise mode CA/client Cert and key.
Definition wifi_mgmt.h:294
#define NET_REQUEST_WIFI_BTWT
Definition wifi_mgmt.h:207
#define NET_REQUEST_WIFI_AP_CONFIG_PARAM
Request a Wi-Fi AP parameters configuration.
Definition wifi_mgmt.h:267
#define NET_REQUEST_WIFI_AP_DISABLE
Request a Wi-Fi access point disable.
Definition wifi_mgmt.h:168
wifi_ps_mode
Wi-Fi power save modes.
Definition wifi.h:423
@ WIFI_EXT_CAPAB_GLK
Definition wifi_mgmt.h:1279
@ WIFI_EXT_CAPAB_20_40_COEX
Definition wifi_mgmt.h:1278
@ WIFI_EXT_CAPAB_BSS_TRANSITION
Definition wifi_mgmt.h:1282
@ WIFI_EXT_CAPAB_EXT_CHAN_SWITCH
Definition wifi_mgmt.h:1280
@ WIFI_EXT_CAPAB_TIM_BROADCAST
Definition wifi_mgmt.h:1281
@ WIFI_SAP_IFACE_COUNTRY_UPDATE
Definition wifi_mgmt.h:1268
@ WIFI_SAP_IFACE_DISABLED
Definition wifi_mgmt.h:1267
@ WIFI_SAP_IFACE_HT_SCAN
Definition wifi_mgmt.h:1270
@ WIFI_SAP_IFACE_ENABLED
Definition wifi_mgmt.h:1273
@ WIFI_SAP_IFACE_ACS
Definition wifi_mgmt.h:1269
@ WIFI_SAP_IFACE_UNINITIALIZED
Definition wifi_mgmt.h:1266
@ WIFI_SAP_IFACE_NO_IR
Definition wifi_mgmt.h:1272
@ WIFI_SAP_IFACE_DFS
Definition wifi_mgmt.h:1271
@ WIFI_TWT_STATE_SLEEP
TWT sleep state: sleeping.
Definition wifi_mgmt.h:945
@ WIFI_TWT_STATE_AWAKE
TWT sleep state: awake.
Definition wifi_mgmt.h:947
@ WIFI_WPS_PBC
WPS pbc.
Definition wifi_mgmt.h:1248
@ WIFI_WPS_PIN_SET
Set WPS pin number.
Definition wifi_mgmt.h:1252
@ WIFI_WPS_PIN_GET
Get WPS pin number.
Definition wifi_mgmt.h:1250
@ WIFI_STATUS_CONN_AP_NOT_FOUND
Connection failed - AP not found.
Definition wifi_mgmt.h:612
@ WIFI_STATUS_CONN_SUCCESS
Connection successful.
Definition wifi_mgmt.h:597
@ WIFI_STATUS_CONN_WRONG_PASSWORD
Connection failed - wrong password Few possible reasons for 4-way handshake failure that we can guess...
Definition wifi_mgmt.h:608
@ WIFI_STATUS_CONN_FAIL
Connection failed - generic failure.
Definition wifi_mgmt.h:599
@ WIFI_STATUS_CONN_TIMEOUT
Connection timed out.
Definition wifi_mgmt.h:610
@ WIFI_STATUS_DISCONN_FIRST_STATUS
Connection disconnected status.
Definition wifi_mgmt.h:616
@ WIFI_STATUS_CONN_LAST_STATUS
Last connection status.
Definition wifi_mgmt.h:614
@ NET_REQUEST_WIFI_CMD_AP_CONFIG_PARAM
Configure AP parameter.
Definition wifi_mgmt.h:111
@ NET_REQUEST_WIFI_CMD_TWT
Setup or teardown TWT flow.
Definition wifi_mgmt.h:89
@ NET_REQUEST_WIFI_CMD_PMKSA_FLUSH
Flush PMKSA cache entries.
Definition wifi_mgmt.h:119
@ NET_REQUEST_WIFI_CMD_PACKET_FILTER
Set or get packet filter setting for current mode.
Definition wifi_mgmt.h:99
@ NET_REQUEST_WIFI_CMD_AP_ENABLE
Enable AP mode.
Definition wifi_mgmt.h:75
@ NET_REQUEST_WIFI_CMD_START_ROAMING
Start roaming.
Definition wifi_mgmt.h:131
@ NET_REQUEST_WIFI_CMD_REG_DOMAIN
Set or get regulatory domain.
Definition wifi_mgmt.h:95
@ NET_REQUEST_WIFI_CMD_AP_RTS_THRESHOLD
Set AP RTS threshold.
Definition wifi_mgmt.h:79
@ NET_REQUEST_WIFI_CMD_11K_NEIGHBOR_REQUEST
Send 11k neighbor request.
Definition wifi_mgmt.h:85
@ NET_REQUEST_WIFI_CMD_SCAN
Scan for Wi-Fi networks.
Definition wifi_mgmt.h:69
@ NET_REQUEST_WIFI_CMD_IFACE_STATUS
Get interface status.
Definition wifi_mgmt.h:81
@ NET_REQUEST_WIFI_CMD_AP_STA_DISCONNECT
Disconnect a STA from AP.
Definition wifi_mgmt.h:103
@ NET_REQUEST_WIFI_CMD_DPP
DPP actions.
Definition wifi_mgmt.h:113
@ NET_REQUEST_WIFI_CMD_AP_DISABLE
Disable AP mode.
Definition wifi_mgmt.h:77
@ NET_REQUEST_WIFI_CMD_RTS_THRESHOLD
Set RTS threshold.
Definition wifi_mgmt.h:109
@ NET_REQUEST_WIFI_CMD_CONNECT
Connect to a Wi-Fi network.
Definition wifi_mgmt.h:71
@ NET_REQUEST_WIFI_CMD_VERSION
Get Wi-Fi driver and Firmware versions.
Definition wifi_mgmt.h:105
@ NET_REQUEST_WIFI_CMD_ENTERPRISE_CREDS
Set enterprise mode credential.
Definition wifi_mgmt.h:121
@ NET_REQUEST_WIFI_CMD_CONN_PARAMS
Get Wi-Fi latest connection parameters.
Definition wifi_mgmt.h:107
@ NET_REQUEST_WIFI_CMD_11K_CONFIG
Set or get 11k status.
Definition wifi_mgmt.h:83
@ NET_REQUEST_WIFI_CMD_CHANNEL
Set or get Wi-Fi channel for Monitor or TX-Injection mode.
Definition wifi_mgmt.h:101
@ NET_REQUEST_WIFI_CMD_BTWT
Setup BTWT flow.
Definition wifi_mgmt.h:91
@ NET_REQUEST_WIFI_CMD_MODE
Set or get Mode of operation.
Definition wifi_mgmt.h:97
@ NET_REQUEST_WIFI_CMD_RTS_THRESHOLD_CONFIG
Get RTS threshold.
Definition wifi_mgmt.h:123
@ NET_REQUEST_WIFI_CMD_CANDIDATE_SCAN
Specific scan.
Definition wifi_mgmt.h:135
@ NET_REQUEST_WIFI_CMD_PS
Set power save status.
Definition wifi_mgmt.h:87
@ NET_REQUEST_WIFI_CMD_DISCONNECT
Disconnect from a Wi-Fi network.
Definition wifi_mgmt.h:73
@ NET_REQUEST_WIFI_CMD_NEIGHBOR_REP_COMPLETE
Neighbor report complete.
Definition wifi_mgmt.h:133
@ NET_REQUEST_WIFI_CMD_AP_WPS_CONFIG
AP WPS config.
Definition wifi_mgmt.h:137
@ NET_REQUEST_WIFI_CMD_PS_CONFIG
Get power save config.
Definition wifi_mgmt.h:93
@ NET_REQUEST_WIFI_CMD_WPS_CONFIG
WPS config.
Definition wifi_mgmt.h:125
@ WIFI_STATUS_AP_CHANNEL_NOT_ALLOWED
AP mode enable failed - channel not allowed.
Definition wifi_mgmt.h:646
@ WIFI_STATUS_AP_SUCCESS
AP mode enable or disable successful.
Definition wifi_mgmt.h:640
@ WIFI_STATUS_AP_OP_NOT_SUPPORTED
AP mode enable failed - operation not supported.
Definition wifi_mgmt.h:652
@ WIFI_STATUS_AP_OP_NOT_PERMITTED
AP mode enable failed - operation not permitted.
Definition wifi_mgmt.h:654
@ WIFI_STATUS_AP_CHANNEL_NOT_SUPPORTED
AP mode enable failed - channel not supported.
Definition wifi_mgmt.h:644
@ WIFI_STATUS_AP_FAIL
AP mode enable or disable failed - generic failure.
Definition wifi_mgmt.h:642
@ WIFI_STATUS_AP_AUTH_TYPE_NOT_SUPPORTED
AP mode enable failed - authentication type not supported.
Definition wifi_mgmt.h:650
@ WIFI_STATUS_AP_SSID_NOT_ALLOWED
AP mode enable failed - SSID not allowed.
Definition wifi_mgmt.h:648
@ NET_EVENT_WIFI_CMD_AP_STA_DISCONNECTED
STA disconnected from AP.
Definition wifi_mgmt.h:359
@ NET_EVENT_WIFI_CMD_SCAN_RESULT
Scan results available.
Definition wifi_mgmt.h:327
@ NET_EVENT_WIFI_CMD_DISCONNECT_RESULT
Disconnect result.
Definition wifi_mgmt.h:333
@ NET_EVENT_WIFI_CMD_SUPPLICANT
Supplicant specific event.
Definition wifi_mgmt.h:361
@ NET_EVENT_WIFI_CMD_NEIGHBOR_REP_RECEIVED
Neighbor Report.
Definition wifi_mgmt.h:349
@ NET_EVENT_WIFI_CMD_TWT_SLEEP_STATE
TWT sleep status: awake or sleeping, can be used by application to determine if it can send data or n...
Definition wifi_mgmt.h:341
@ NET_EVENT_WIFI_CMD_NEIGHBOR_REP_COMPLETE
Neighbor Report complete.
Definition wifi_mgmt.h:351
@ NET_EVENT_WIFI_CMD_AP_ENABLE_RESULT
AP mode enable result.
Definition wifi_mgmt.h:353
@ NET_EVENT_WIFI_CMD_AP_STA_CONNECTED
STA connected to AP.
Definition wifi_mgmt.h:357
@ NET_EVENT_WIFI_CMD_SIGNAL_CHANGE
Signal change event.
Definition wifi_mgmt.h:347
@ NET_EVENT_WIFI_CMD_SCAN_DONE
Scan done.
Definition wifi_mgmt.h:329
@ NET_EVENT_WIFI_CMD_TWT
TWT events.
Definition wifi_mgmt.h:337
@ NET_EVENT_WIFI_CMD_RAW_SCAN_RESULT
Raw scan results available.
Definition wifi_mgmt.h:343
@ NET_EVENT_WIFI_CMD_AP_DISABLE_RESULT
AP mode disable result.
Definition wifi_mgmt.h:355
@ NET_EVENT_WIFI_CMD_DISCONNECT_COMPLETE
Disconnect complete.
Definition wifi_mgmt.h:345
@ NET_EVENT_WIFI_CMD_IFACE_STATUS
Interface status.
Definition wifi_mgmt.h:335
@ NET_EVENT_WIFI_CMD_CONNECT_RESULT
Connect result.
Definition wifi_mgmt.h:331
@ WIFI_REASON_DISCONN_INACTIVITY
Disconnected due to inactivity.
Definition wifi_mgmt.h:632
@ WIFI_REASON_DISCONN_AP_LEAVING
Disconnected due to AP leaving.
Definition wifi_mgmt.h:630
@ WIFI_REASON_DISCONN_SUCCESS
Success, overload status as reason.
Definition wifi_mgmt.h:624
@ WIFI_REASON_DISCONN_UNSPECIFIED
Unspecified reason.
Definition wifi_mgmt.h:626
@ WIFI_REASON_DISCONN_USER_REQUEST
Disconnected due to user request.
Definition wifi_mgmt.h:628
@ WIFI_MGMT_GET
Get operation.
Definition wifi_mgmt.h:894
@ WIFI_MGMT_SET
Set operation.
Definition wifi_mgmt.h:896
Public API for network interface.
Network Management API public header.
Offloaded network device iface API.
int listen(int sock, int backlog)
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
__INT8_TYPE__ int8_t
Definition stdint.h:72
Runtime device structure (in ROM) per driver instance.
Definition device.h:411
Ethernet L2 API operations.
Definition ethernet.h:538
Network Interface structure.
Definition net_if.h:692
All Wi-Fi specific statistics.
Definition net_stats.h:669
Wi-Fi management offload API.
Definition wifi_mgmt.h:1595
struct ethernet_api wifi_iface
Mandatory to get in first position.
Definition wifi_mgmt.h:1604
const struct wifi_mgmt_ops *const wifi_mgmt_api
Wi-Fi management API.
Definition wifi_mgmt.h:1610
const void * wifi_drv_ops
Wi-Fi supplicant driver API.
Definition wifi_mgmt.h:1614
Extended net_if_api for offloaded ifaces/network devices, allowing handling of admin up/down state ch...
Definition offloaded_netdev.h:53
Wi-Fi 11k parameters.
Definition wifi_mgmt.h:900
uint8_t ssid[WIFI_SSID_MAX_LEN+1]
SSID.
Definition wifi_mgmt.h:906
bool enable_11k
11k enable/disable
Definition wifi_mgmt.h:904
enum wifi_mgmt_op oper
11k command operation
Definition wifi_mgmt.h:902
Wi-Fi AP configuration parameter.
Definition wifi_mgmt.h:1030
uint32_t max_inactivity
Parameter used for setting maximum inactivity duration for stations.
Definition wifi_mgmt.h:1034
enum wifi_ap_config_param type
Parameter used to identify the different AP parameters.
Definition wifi_mgmt.h:1032
uint32_t max_num_sta
Parameter used for setting maximum number of stations.
Definition wifi_mgmt.h:1036
enum wifi_frequency_bandwidths bandwidth
Parameter used for frequency band.
Definition wifi_mgmt.h:1038
AP mode - connected STA details.
Definition wifi_mgmt.h:965
enum wifi_link_mode link_mode
Link mode, see enum wifi_link_mode.
Definition wifi_mgmt.h:967
uint8_t mac[WIFI_MAC_ADDR_LEN]
MAC address.
Definition wifi_mgmt.h:969
uint8_t mac_length
MAC address length.
Definition wifi_mgmt.h:971
bool twt_capable
is TWT capable ?
Definition wifi_mgmt.h:973
Wi-Fi structure to uniquely identify a band-channel pair.
Definition wifi_mgmt.h:435
uint8_t band
Frequency band.
Definition wifi_mgmt.h:437
uint8_t channel
Channel.
Definition wifi_mgmt.h:439
Wi-Fi channel setting for monitor and TX-injection modes.
Definition wifi_mgmt.h:1015
uint8_t if_index
Interface index.
Definition wifi_mgmt.h:1019
uint16_t channel
Channel value to set.
Definition wifi_mgmt.h:1017
enum wifi_mgmt_op oper
Get or set operation.
Definition wifi_mgmt.h:1021
Wi-Fi connect request parameters.
Definition wifi_mgmt.h:521
const uint8_t * key2_passwd
private key2 passwd
Definition wifi_mgmt.h:555
bool ft_used
Fast BSS Transition used.
Definition wifi_mgmt.h:573
enum wifi_frequency_bandwidths bandwidth
Parameter used for frequency band.
Definition wifi_mgmt.h:589
enum wifi_security_type security
Security type.
Definition wifi_mgmt.h:539
const uint8_t * passwords[WIFI_ENT_IDENTITY_MAX_USERS]
User Passwords.
Definition wifi_mgmt.h:581
const uint8_t * identities[WIFI_ENT_IDENTITY_MAX_USERS]
User Identities.
Definition wifi_mgmt.h:579
uint8_t aid_length
anon_id length, max 64
Definition wifi_mgmt.h:549
const uint8_t * sae_password
SAE password (same as PSK but with no length restrictions), optional.
Definition wifi_mgmt.h:531
const uint8_t * key_passwd
Private key passwd for enterprise mode.
Definition wifi_mgmt.h:551
uint8_t eap_id_length
eap identity length, max 64
Definition wifi_mgmt.h:567
uint8_t channel
Channel.
Definition wifi_mgmt.h:537
uint8_t ssid_length
SSID length.
Definition wifi_mgmt.h:525
int timeout
Connect timeout in seconds, SYS_FOREVER_MS for no timeout.
Definition wifi_mgmt.h:545
int nusers
Number of EAP users.
Definition wifi_mgmt.h:575
enum wifi_mfp_options mfp
MFP options.
Definition wifi_mgmt.h:541
uint8_t sae_password_length
SAE password length.
Definition wifi_mgmt.h:533
const uint8_t * anon_id
anonymous identity
Definition wifi_mgmt.h:547
int eap_ver
eap version
Definition wifi_mgmt.h:563
uint8_t key_passwd_length
Private key passwd length, max 128.
Definition wifi_mgmt.h:553
uint8_t band
Frequency band.
Definition wifi_mgmt.h:535
uint8_t TLS_cipher
TLS cipher.
Definition wifi_mgmt.h:561
const uint8_t * psk
Pre-shared key.
Definition wifi_mgmt.h:527
uint8_t bssid[WIFI_MAC_ADDR_LEN]
BSSID.
Definition wifi_mgmt.h:543
uint8_t passwds
Number of EAP passwds.
Definition wifi_mgmt.h:577
uint8_t psk_length
Pre-shared key length.
Definition wifi_mgmt.h:529
const uint8_t * eap_identity
Identity for EAP.
Definition wifi_mgmt.h:565
const uint8_t * ssid
SSID.
Definition wifi_mgmt.h:523
enum wifi_wpa3_enterprise_type wpa3_ent_mode
wpa3 enterprise mode
Definition wifi_mgmt.h:559
uint8_t eap_passwd_length
eap passwd length, max 128
Definition wifi_mgmt.h:571
uint8_t key2_passwd_length
key2 passwd length, max 128
Definition wifi_mgmt.h:557
uint8_t ignore_broadcast_ssid
Hidden SSID configure 0: disabled (default) 1: send empty (length=0) SSID in beacon and ignore probe ...
Definition wifi_mgmt.h:587
const uint8_t * eap_password
Password string for EAP.
Definition wifi_mgmt.h:569
Wi-Fi enterprise mode credentials.
Definition wifi_mgmt.h:842
uint32_t client_key_len
Client key length.
Definition wifi_mgmt.h:854
uint8_t * client_cert2
Client certification of phase2.
Definition wifi_mgmt.h:860
uint32_t client_key2_len
Phase2 Client key length.
Definition wifi_mgmt.h:866
uint32_t client_cert_len
Client certification length.
Definition wifi_mgmt.h:850
uint32_t ca_cert_len
CA certification length.
Definition wifi_mgmt.h:846
uint8_t * client_cert
Client certification.
Definition wifi_mgmt.h:848
uint8_t * client_key
Client key.
Definition wifi_mgmt.h:852
uint32_t server_key_len
Server key length.
Definition wifi_mgmt.h:874
uint8_t * dh_param
Diffie–Hellman parameter.
Definition wifi_mgmt.h:876
uint8_t * client_key2
Client key of phase2.
Definition wifi_mgmt.h:864
uint32_t ca_cert2_len
Phase2 CA certification length.
Definition wifi_mgmt.h:858
uint32_t dh_param_len
Diffie–Hellman parameter length.
Definition wifi_mgmt.h:878
uint8_t * server_key
Server key.
Definition wifi_mgmt.h:872
uint32_t server_cert_len
Server certification length.
Definition wifi_mgmt.h:870
uint8_t * server_cert
Server certification.
Definition wifi_mgmt.h:868
uint8_t * ca_cert2
CA certification of phase2.
Definition wifi_mgmt.h:856
uint32_t client_cert2_len
Phase2 Client certification length.
Definition wifi_mgmt.h:862
uint8_t * ca_cert
CA certification.
Definition wifi_mgmt.h:844
Wi-Fi filter setting for monitor, prmoiscuous, TX-injection modes.
Definition wifi_mgmt.h:1003
uint16_t buffer_size
Filter buffer size.
Definition wifi_mgmt.h:1009
uint8_t filter
Filter setting.
Definition wifi_mgmt.h:1005
enum wifi_mgmt_op oper
Get or set operation.
Definition wifi_mgmt.h:1011
uint8_t if_index
Interface index.
Definition wifi_mgmt.h:1007
Wi-Fi interface status.
Definition wifi_mgmt.h:672
unsigned short beacon_interval
Beacon interval.
Definition wifi_mgmt.h:700
enum wifi_wpa3_enterprise_type wpa3_ent_type
WPA3 enterprise type.
Definition wifi_mgmt.h:690
char ssid[WIFI_SSID_MAX_LEN+1]
SSID.
Definition wifi_mgmt.h:678
int rssi
RSSI.
Definition wifi_mgmt.h:696
char bssid[WIFI_MAC_ADDR_LEN]
BSSID.
Definition wifi_mgmt.h:680
enum wifi_security_type security
Security type, see enum wifi_security_type.
Definition wifi_mgmt.h:692
unsigned int channel
Channel.
Definition wifi_mgmt.h:684
enum wifi_mfp_options mfp
MFP options, see enum wifi_mfp_options.
Definition wifi_mgmt.h:694
unsigned char dtim_period
DTIM period.
Definition wifi_mgmt.h:698
int state
Interface state, see enum wifi_iface_state.
Definition wifi_mgmt.h:674
bool twt_capable
is TWT capable?
Definition wifi_mgmt.h:702
enum wifi_iface_mode iface_mode
Interface mode, see enum wifi_iface_mode.
Definition wifi_mgmt.h:686
unsigned int ssid_len
SSID length.
Definition wifi_mgmt.h:676
enum wifi_frequency_bands band
Frequency band.
Definition wifi_mgmt.h:682
enum wifi_link_mode link_mode
Link mode, see enum wifi_link_mode.
Definition wifi_mgmt.h:688
int current_phy_tx_rate
The current 802.11 PHY TX data rate (in Mbps)
Definition wifi_mgmt.h:704
Wi-Fi management API.
Definition wifi_mgmt.h:1308
int(* reg_domain)(const struct device *dev, struct wifi_reg_domain *reg_domain)
Set or get regulatory domain.
Definition wifi_mgmt.h:1443
int(* send_11k_neighbor_request)(const struct device *dev, struct wifi_11k_params *params)
Send 11k neighbor request.
Definition wifi_mgmt.h:1403
int(* get_rts_threshold)(const struct device *dev, unsigned int *rts_threshold)
Set Wi-Fi enterprise mode CA/client Cert and key.
Definition wifi_mgmt.h:1568
int(* ap_config_params)(const struct device *dev, struct wifi_ap_config_params *params)
Configure AP parameter.
Definition wifi_mgmt.h:1531
int(* scan)(const struct device *dev, struct wifi_scan_params *params, scan_result_cb_t cb)
Scan for Wi-Fi networks.
Definition wifi_mgmt.h:1320
int(* cfg_11k)(const struct device *dev, struct wifi_11k_params *params)
Set or get 11K status.
Definition wifi_mgmt.h:1395
int(* get_conn_params)(const struct device *dev, struct wifi_connect_req_params *params)
Get Wi-Fi connection parameters recently used.
Definition wifi_mgmt.h:1515
int(* start_11r_roaming)(const struct device *dev)
Start 11r roaming.
Definition wifi_mgmt.h:1591
int(* set_rts_threshold)(const struct device *dev, unsigned int rts_threshold)
Set RTS threshold value.
Definition wifi_mgmt.h:1523
int(* get_power_save_config)(const struct device *dev, struct wifi_ps_config *config)
Get power save config.
Definition wifi_mgmt.h:1435
int(* candidate_scan)(const struct device *dev, struct wifi_scan_params *params)
Trigger candidate scan.
Definition wifi_mgmt.h:1584
int(* disconnect)(const struct device *dev)
Disconnect from a Wi-Fi network.
Definition wifi_mgmt.h:1338
int(* ap_disable)(const struct device *dev)
Disable AP mode.
Definition wifi_mgmt.h:1354
int(* get_stats)(const struct device *dev, struct net_stats_wifi *stats)
Get Wi-Fi statistics.
Definition wifi_mgmt.h:1379
int(* legacy_roam)(const struct device *dev)
Send legacy scan.
Definition wifi_mgmt.h:1493
int(* get_version)(const struct device *dev, struct wifi_version *params)
Get Version of WiFi driver and Firmware.
Definition wifi_mgmt.h:1507
int(* pmksa_flush)(const struct device *dev)
Flush PMKSA cache entries.
Definition wifi_mgmt.h:1549
int(* wps_config)(const struct device *dev, struct wifi_wps_config_params *params)
Start a WPS PBC/PIN connection.
Definition wifi_mgmt.h:1576
int(* set_twt)(const struct device *dev, struct wifi_twt_params *params)
Setup or teardown TWT flow.
Definition wifi_mgmt.h:1419
int(* set_power_save)(const struct device *dev, struct wifi_ps_params *params)
Set power save status.
Definition wifi_mgmt.h:1411
int(* ap_enable)(const struct device *dev, struct wifi_connect_req_params *params)
Enable AP mode.
Definition wifi_mgmt.h:1346
int(* set_btwt)(const struct device *dev, struct wifi_twt_params *params)
Setup BTWT flow.
Definition wifi_mgmt.h:1427
int(* filter)(const struct device *dev, struct wifi_filter_info *filter)
Set or get packet filter settings for monitor and promiscuous modes.
Definition wifi_mgmt.h:1451
int(* iface_status)(const struct device *dev, struct wifi_iface_status *status)
Get interface status.
Definition wifi_mgmt.h:1370
int(* mode)(const struct device *dev, struct wifi_mode_info *mode)
Set or get mode of operation.
Definition wifi_mgmt.h:1459
int(* connect)(const struct device *dev, struct wifi_connect_req_params *params)
Connect to a Wi-Fi network.
Definition wifi_mgmt.h:1330
int(* reset_stats)(const struct device *dev)
Reset Wi-Fi statistics.
Definition wifi_mgmt.h:1386
int(* ap_sta_disconnect)(const struct device *dev, const uint8_t *mac)
Disconnect a STA from AP.
Definition wifi_mgmt.h:1362
int(* channel)(const struct device *dev, struct wifi_channel_info *channel)
Set or get current channel of operation.
Definition wifi_mgmt.h:1467
int(* bss_ext_capab)(const struct device *dev, int capab)
Judge ap whether support the capability.
Definition wifi_mgmt.h:1485
Wi-Fi mode setup.
Definition wifi_mgmt.h:993
enum wifi_mgmt_op oper
Get or set operation.
Definition wifi_mgmt.h:999
uint8_t mode
Mode setting for a specific mode of operation.
Definition wifi_mgmt.h:995
uint8_t if_index
Interface index.
Definition wifi_mgmt.h:997
Wi-Fi power save configuration.
Definition wifi_mgmt.h:882
struct wifi_ps_params ps_params
Power save configuration.
Definition wifi_mgmt.h:888
char num_twt_flows
Number of TWT flows.
Definition wifi_mgmt.h:884
struct wifi_twt_flow_info twt_flows[WIFI_MAX_TWT_FLOWS]
TWT flow details.
Definition wifi_mgmt.h:886
Wi-Fi power save parameters.
Definition wifi_mgmt.h:708
enum wifi_ps_mode mode
Wi-Fi power save mode.
Definition wifi_mgmt.h:716
enum wifi_config_ps_param_fail_reason fail_reason
Wi-Fi power save fail reason.
Definition wifi_mgmt.h:729
enum wifi_ps_wakeup_mode wakeup_mode
Wi-Fi power save wakeup mode.
Definition wifi_mgmt.h:714
unsigned short listen_interval
Listen interval.
Definition wifi_mgmt.h:712
enum wifi_ps_exit_strategy exit_strategy
Wi-Fi power save exit strategy.
Definition wifi_mgmt.h:731
enum wifi_ps enabled
Power save state.
Definition wifi_mgmt.h:710
unsigned int timeout_ms
Wi-Fi power save timeout.
Definition wifi_mgmt.h:725
enum wifi_ps_param_type type
Wi-Fi power save type.
Definition wifi_mgmt.h:727
Wi-Fi raw scan result.
Definition wifi_mgmt.h:952
int8_t rssi
RSSI.
Definition wifi_mgmt.h:954
uint8_t data[CONFIG_WIFI_MGMT_RAW_SCAN_RESULT_LENGTH]
Raw scan data.
Definition wifi_mgmt.h:960
int frame_length
Frame length.
Definition wifi_mgmt.h:956
unsigned short frequency
Frequency.
Definition wifi_mgmt.h:958
Per-channel regulatory attributes.
Definition wifi_mgmt.h:913
unsigned short center_frequency
Center frequency in MHz.
Definition wifi_mgmt.h:915
unsigned short dfs
Is a DFS channel.
Definition wifi_mgmt.h:923
unsigned short supported
Is channel supported or not.
Definition wifi_mgmt.h:919
unsigned short passive_only
Passive transmissions only.
Definition wifi_mgmt.h:921
unsigned short max_power
Maximum transmission power (in dBm)
Definition wifi_mgmt.h:917
Regulatory domain information or configuration.
Definition wifi_mgmt.h:927
unsigned int num_channels
Number of channels supported.
Definition wifi_mgmt.h:937
enum wifi_mgmt_op oper
Regulatory domain operation.
Definition wifi_mgmt.h:929
struct wifi_reg_chan_info * chan_info
Channels information.
Definition wifi_mgmt.h:939
bool force
Ignore all other regulatory hints over this one, the behavior is implementation specific.
Definition wifi_mgmt.h:933
uint8_t country_code[WIFI_COUNTRY_CODE_LEN]
Country code: ISO/IEC 3166-1 alpha-2.
Definition wifi_mgmt.h:935
Wi-Fi scan parameters structure.
Definition wifi_mgmt.h:447
uint16_t max_bss_cnt
Specifies the maximum number of scan results to return.
Definition wifi_mgmt.h:476
uint16_t dwell_time_active
Active scan dwell time (in ms) on a channel.
Definition wifi_mgmt.h:462
enum wifi_scan_type scan_type
Scan type, see enum wifi_scan_type.
Definition wifi_mgmt.h:455
uint8_t bands
Bitmap of bands to be scanned.
Definition wifi_mgmt.h:459
uint16_t dwell_time_passive
Passive scan dwell time (in ms) on a channel.
Definition wifi_mgmt.h:465
struct wifi_band_channel band_chan[WIFI_MGMT_SCAN_CHAN_MAX_MANUAL]
Channel information array indexed on Wi-Fi frequency bands and channels within that band.
Definition wifi_mgmt.h:491
const char * ssids[WIFI_MGMT_SCAN_SSID_FILT_MAX]
Array of SSID strings to scan.
Definition wifi_mgmt.h:468
Wi-Fi scan result, each result is provided to the net_mgmt_event_callback via its info attribute (see...
Definition wifi_mgmt.h:497
uint8_t ssid_length
SSID length.
Definition wifi_mgmt.h:501
uint8_t band
Frequency band.
Definition wifi_mgmt.h:503
uint8_t mac[WIFI_MAC_ADDR_LEN]
BSSID.
Definition wifi_mgmt.h:515
int8_t rssi
RSSI.
Definition wifi_mgmt.h:513
uint8_t mac_length
BSSID length.
Definition wifi_mgmt.h:517
uint8_t ssid[WIFI_SSID_MAX_LEN+1]
SSID.
Definition wifi_mgmt.h:499
enum wifi_wpa3_enterprise_type wpa3_ent_type
WPA3 enterprise type.
Definition wifi_mgmt.h:509
enum wifi_mfp_options mfp
MFP options.
Definition wifi_mgmt.h:511
uint8_t channel
Channel.
Definition wifi_mgmt.h:505
enum wifi_security_type security
Security type.
Definition wifi_mgmt.h:507
Generic Wi-Fi status for commands and events.
Definition wifi_mgmt.h:658
enum wifi_ap_status ap_status
Access point status.
Definition wifi_mgmt.h:667
enum wifi_conn_status conn_status
Connection status.
Definition wifi_mgmt.h:663
enum wifi_disconn_reason disconn_reason
Disconnection reason status.
Definition wifi_mgmt.h:665
int status
Status value.
Definition wifi_mgmt.h:661
Wi-Fi TWT flow information.
Definition wifi_mgmt.h:818
uint8_t dialog_token
Dialog token, used to map requests to responses.
Definition wifi_mgmt.h:822
enum wifi_twt_negotiation_type negotiation_type
TWT negotiation type, see enum wifi_twt_negotiation_type.
Definition wifi_mgmt.h:826
uint32_t twt_wake_ahead_duration
Wake ahead duration.
Definition wifi_mgmt.h:838
bool trigger
Trigger enabled or disabled.
Definition wifi_mgmt.h:830
bool responder
Requestor or responder.
Definition wifi_mgmt.h:828
uint8_t flow_id
Flow ID, used to map setup with teardown.
Definition wifi_mgmt.h:824
uint64_t twt_interval
Interval = Wake up time + Sleeping time.
Definition wifi_mgmt.h:820
uint32_t twt_wake_interval
Wake up time.
Definition wifi_mgmt.h:836
bool implicit
Implicit or explicit.
Definition wifi_mgmt.h:832
bool announce
Announced or unannounced.
Definition wifi_mgmt.h:834
Wi-Fi TWT parameters.
Definition wifi_mgmt.h:735
bool announce
Announced or unannounced.
Definition wifi_mgmt.h:762
uint8_t max_sta_support
Max STA support.
Definition wifi_mgmt.h:785
uint16_t twt_offset
TWT offset.
Definition wifi_mgmt.h:789
bool teardown_all
Teardown all flows.
Definition wifi_mgmt.h:798
enum wifi_twt_setup_cmd setup_cmd
TWT setup command, see enum wifi_twt_setup_cmd.
Definition wifi_mgmt.h:741
struct wifi_twt_params::@422::@426 teardown
Teardown specific parameters.
bool trigger
Trigger enabled or disabled.
Definition wifi_mgmt.h:758
enum wifi_twt_negotiation_type negotiation_type
TWT negotiation type, see enum wifi_twt_negotiation_type.
Definition wifi_mgmt.h:739
struct wifi_twt_params::@422::@424 setup
Setup specific parameters.
enum wifi_twt_operation operation
TWT operation, see enum wifi_twt_operation.
Definition wifi_mgmt.h:737
uint32_t twt_wake_ahead_duration
Wake ahead notification is sent earlier than TWT Service period (SP) start based on this duration.
Definition wifi_mgmt.h:770
enum wifi_twt_fail_reason fail_reason
TWT fail reason, see enum wifi_twt_fail_reason.
Definition wifi_mgmt.h:802
uint32_t twt_wake_interval
Wake up time.
Definition wifi_mgmt.h:764
enum wifi_twt_setup_resp_status resp_status
TWT setup response status, see enum wifi_twt_setup_resp_status.
Definition wifi_mgmt.h:743
bool implicit
Implicit or explicit.
Definition wifi_mgmt.h:760
struct wifi_twt_params::@422::@425 btwt
Setup specific parameters.
uint8_t nominal_wake
Range 64-255.
Definition wifi_mgmt.h:783
uint8_t flow_id
Flow ID, used to map setup with teardown.
Definition wifi_mgmt.h:749
enum wifi_twt_teardown_status teardown_status
TWT teardown cmd status, see enum wifi_twt_teardown_status.
Definition wifi_mgmt.h:745
uint8_t twt_exponent
TWT exponent.
Definition wifi_mgmt.h:774
uint16_t twt_mantissa
TWT Mantissa Range: [0-sizeof(UINT16)].
Definition wifi_mgmt.h:776
uint64_t twt_interval
Interval = Wake up time + Sleeping time.
Definition wifi_mgmt.h:754
bool twt_info_disable
TWT info enabled or disable.
Definition wifi_mgmt.h:772
uint16_t sub_id
Broadcast TWT AP config.
Definition wifi_mgmt.h:781
uint8_t sp_gap
SP gap.
Definition wifi_mgmt.h:793
uint8_t dialog_token
Dialog token, used to map requests to responses.
Definition wifi_mgmt.h:747
bool responder
Requestor or responder.
Definition wifi_mgmt.h:756
Wi-Fi version.
Definition wifi_mgmt.h:425
const char * fw_version
Firmware version.
Definition wifi_mgmt.h:429
const char * drv_version
Driver version.
Definition wifi_mgmt.h:427
Wi-Fi wps setup.
Definition wifi_mgmt.h:1256
char pin[8+1]
pin value
Definition wifi_mgmt.h:1260
enum wifi_wps_op oper
wps operation
Definition wifi_mgmt.h:1258
IEEE 802.11 protocol and general Wi-Fi definitions.