idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
wifi.hpp File Reference

WiFi type definitions and free function API. More...

#include <idfxx/cpu>
#include <idfxx/error>
#include <idfxx/event>
#include <idfxx/flags>
#include <idfxx/mac>
#include <idfxx/netif>
#include <array>
#include <cstdint>
#include <optional>
#include <soc/soc_caps.h>
#include <span>
#include <string>
#include <string_view>
#include <vector>
#include "sdkconfig.h"

Go to the source code of this file.

Classes

class  idfxx::wifi::error_category
 Error category for WiFi errors. More...
 
struct  idfxx::wifi::he_ap_info
 HE (High Efficiency) AP information. More...
 
struct  idfxx::wifi::country_config
 WiFi country configuration. More...
 
struct  idfxx::wifi::ap_record
 Information about a discovered access point. More...
 
struct  idfxx::wifi::sta_info
 Information about a station connected to the soft-AP. More...
 
struct  idfxx::wifi::ftm_report_entry
 Single FTM report measurement entry. More...
 
struct  idfxx::wifi::init_config
 Configuration for WiFi initialization. More...
 
struct  idfxx::wifi::pmf_config
 Protected Management Frame (PMF) configuration. More...
 
struct  idfxx::wifi::sta_config
 Configuration for WiFi station mode. More...
 
struct  idfxx::wifi::ap_config
 Configuration for WiFi access point mode. More...
 
struct  idfxx::wifi::scan_config
 Configuration for a WiFi scan operation. More...
 
struct  idfxx::wifi::scan_default_params
 Default scan timing parameters. More...
 
struct  idfxx::wifi::protocols_config
 Protocol configuration for dual-band operation. More...
 
struct  idfxx::wifi::bandwidths_config
 Bandwidth configuration for dual-band operation. More...
 
struct  idfxx::wifi::channel_info
 WiFi channel information. More...
 
struct  idfxx::wifi::ftm_initiator_config
 FTM initiator session configuration. More...
 
struct  idfxx::wifi::csi_config
 CSI (Channel State Information) configuration. More...
 
struct  idfxx::wifi::connected_event_data
 Information about a successful station connection. More...
 
struct  idfxx::wifi::disconnected_event_data
 Information about a station disconnection. More...
 
struct  idfxx::wifi::scan_done_event_data
 Information about a completed scan. More...
 
struct  idfxx::wifi::authmode_change_event_data
 Information about an authentication mode change. More...
 
struct  idfxx::wifi::ap_sta_connected_event_data
 Information about a station connecting to the soft-AP. More...
 
struct  idfxx::wifi::ap_sta_disconnected_event_data
 Information about a station disconnecting from the soft-AP. More...
 
struct  idfxx::wifi::ap_probe_req_event_data
 Information about a probe request received by the soft-AP. More...
 
struct  idfxx::wifi::bss_rssi_low_event_data
 Information about BSS RSSI dropping below threshold. More...
 
struct  idfxx::wifi::home_channel_change_event_data
 Information about a home channel change. More...
 
struct  idfxx::wifi::ftm_report_event_data
 Information about an FTM report. More...
 

Namespaces

namespace  idfxx
 
namespace  idfxx::wifi
 

Enumerations

enum class  idfxx::wifi::role : int {
  idfxx::wifi::sta = 1 ,
  idfxx::wifi::ap = 2
}
 WiFi role (station and/or access point). More...
 
enum class  idfxx::wifi::auth_mode : int {
  idfxx::wifi::open = 0 ,
  idfxx::wifi::wep = 1 ,
  idfxx::wifi::wpa_psk = 2 ,
  idfxx::wifi::wpa2_psk = 3 ,
  idfxx::wifi::wpa_wpa2_psk = 4 ,
  idfxx::wifi::wpa2_enterprise = 5 ,
  idfxx::wifi::wpa3_psk = 6 ,
  idfxx::wifi::wpa2_wpa3_psk = 7 ,
  idfxx::wifi::wapi_psk = 8 ,
  idfxx::wifi::owe = 9 ,
  idfxx::wifi::wpa3_ent_192 = 10 ,
  idfxx::wifi::dpp = 13 ,
  idfxx::wifi::wpa3_enterprise = 14 ,
  idfxx::wifi::wpa2_wpa3_enterprise = 15 ,
  idfxx::wifi::wpa_enterprise = 16
}
 WiFi authentication mode. More...
 
enum class  idfxx::wifi::power_save : int {
  idfxx::wifi::none = 0 ,
  idfxx::wifi::min_modem = 1 ,
  idfxx::wifi::max_modem = 2
}
 WiFi power save mode. More...
 
enum class  idfxx::wifi::bandwidth : int {
  idfxx::wifi::ht20 = 1 ,
  idfxx::wifi::ht40 = 2 ,
  idfxx::wifi::bw80 = 3 ,
  idfxx::wifi::bw160 = 4 ,
  idfxx::wifi::bw80_80 = 5
}
 WiFi channel bandwidth. More...
 
enum class  idfxx::wifi::scan_type : int {
  idfxx::wifi::active = 0 ,
  idfxx::wifi::passive = 1
}
 WiFi scan type. More...
 
enum class  idfxx::wifi::second_channel : int {
  idfxx::wifi::above = 1 ,
  idfxx::wifi::below = 2
}
 WiFi secondary channel position relative to the primary channel. More...
 
enum class  idfxx::wifi::sort_method : int {
  idfxx::wifi::by_rssi = 0 ,
  idfxx::wifi::by_security = 1
}
 WiFi AP sort method for connection. More...
 
enum class  idfxx::wifi::disconnect_reason : uint16_t {
  idfxx::wifi::unspecified = 1 ,
  idfxx::wifi::auth_expire = 2 ,
  idfxx::wifi::auth_leave = 3 ,
  idfxx::wifi::assoc_expire = 4 ,
  idfxx::wifi::assoc_toomany = 5 ,
  idfxx::wifi::not_authed = 6 ,
  idfxx::wifi::not_assoced = 7 ,
  idfxx::wifi::assoc_leave = 8 ,
  idfxx::wifi::assoc_not_authed = 9 ,
  idfxx::wifi::disassoc_pwrcap_bad = 10 ,
  idfxx::wifi::disassoc_supchan_bad = 11 ,
  idfxx::wifi::bss_transition_disassoc = 12 ,
  idfxx::wifi::ie_invalid = 13 ,
  idfxx::wifi::mic_failure = 14 ,
  idfxx::wifi::fourway_handshake_timeout = 15 ,
  idfxx::wifi::group_key_update_timeout = 16 ,
  idfxx::wifi::ie_in_4way_differs = 17 ,
  idfxx::wifi::group_cipher_invalid = 18 ,
  idfxx::wifi::pairwise_cipher_invalid = 19 ,
  idfxx::wifi::akmp_invalid = 20 ,
  idfxx::wifi::unsupp_rsn_ie_version = 21 ,
  idfxx::wifi::invalid_rsn_ie_cap = 22 ,
  idfxx::wifi::ieee_802_1x_auth_failed = 23 ,
  idfxx::wifi::cipher_suite_rejected = 24 ,
  idfxx::wifi::tdls_peer_unreachable = 25 ,
  idfxx::wifi::tdls_unspecified = 26 ,
  idfxx::wifi::ssp_requested_disassoc = 27 ,
  idfxx::wifi::no_ssp_roaming_agreement = 28 ,
  idfxx::wifi::bad_cipher_or_akm = 29 ,
  idfxx::wifi::not_authorized_this_location = 30 ,
  idfxx::wifi::service_change_precludes_ts = 31 ,
  idfxx::wifi::unspecified_qos = 32 ,
  idfxx::wifi::not_enough_bandwidth = 33 ,
  idfxx::wifi::missing_acks = 34 ,
  idfxx::wifi::exceeded_txop = 35 ,
  idfxx::wifi::sta_leaving = 36 ,
  idfxx::wifi::end_ba = 37 ,
  idfxx::wifi::unknown_ba = 38 ,
  idfxx::wifi::timeout = 39 ,
  idfxx::wifi::peer_initiated = 46 ,
  idfxx::wifi::ap_initiated = 47 ,
  idfxx::wifi::invalid_ft_action_frame_count = 48 ,
  idfxx::wifi::invalid_pmkid = 49 ,
  idfxx::wifi::invalid_mde = 50 ,
  idfxx::wifi::invalid_fte = 51 ,
  idfxx::wifi::transmission_link_establish_failed = 67 ,
  idfxx::wifi::alterative_channel_occupied = 68 ,
  idfxx::wifi::beacon_timeout = 200 ,
  idfxx::wifi::no_ap_found = 201 ,
  idfxx::wifi::auth_fail = 202 ,
  idfxx::wifi::assoc_fail = 203 ,
  idfxx::wifi::handshake_timeout = 204 ,
  idfxx::wifi::connection_fail = 205 ,
  idfxx::wifi::ap_tsf_reset = 206 ,
  idfxx::wifi::roaming = 207 ,
  idfxx::wifi::assoc_comeback_time_too_long = 208 ,
  idfxx::wifi::sa_query_timeout = 209 ,
  idfxx::wifi::no_ap_found_w_compatible_security = 210 ,
  idfxx::wifi::no_ap_found_in_authmode_threshold = 211 ,
  idfxx::wifi::no_ap_found_in_rssi_threshold = 212
}
 WiFi disconnection reason codes. More...
 
enum class  idfxx::wifi::cipher_type : int {
  idfxx::wifi::none = 0 ,
  idfxx::wifi::wep40 = 1 ,
  idfxx::wifi::wep104 = 2 ,
  idfxx::wifi::tkip = 3 ,
  idfxx::wifi::ccmp = 4 ,
  idfxx::wifi::tkip_ccmp = 5 ,
  idfxx::wifi::aes_cmac128 = 6 ,
  idfxx::wifi::sms4 = 7 ,
  idfxx::wifi::gcmp = 8 ,
  idfxx::wifi::gcmp256 = 9 ,
  idfxx::wifi::aes_gmac128 = 10 ,
  idfxx::wifi::aes_gmac256 = 11 ,
  idfxx::wifi::unknown = 12
}
 WiFi cipher type. More...
 
enum class  idfxx::wifi::phy_mode : int {
  idfxx::wifi::lr = 0 ,
  idfxx::wifi::b11b = 1 ,
  idfxx::wifi::b11g = 2 ,
  idfxx::wifi::b11a = 3 ,
  idfxx::wifi::ht20 = 4 ,
  idfxx::wifi::ht40 = 5 ,
  idfxx::wifi::he20 = 6 ,
  idfxx::wifi::vht20 = 7
}
 WiFi PHY mode. More...
 
enum class  idfxx::wifi::band : int {
  idfxx::wifi::ghz_2g = 1 ,
  idfxx::wifi::ghz_5g = 2
}
 WiFi frequency band. More...
 
enum class  idfxx::wifi::band_mode : int {
  idfxx::wifi::ghz_2g_only = 1 ,
  idfxx::wifi::ghz_5g_only = 2 ,
  idfxx::wifi::auto_mode = 3
}
 WiFi band mode. More...
 
enum class  idfxx::wifi::channel_5g : uint32_t {
  idfxx::wifi::ch36 = 1u << 1 ,
  idfxx::wifi::ch40 = 1u << 2 ,
  idfxx::wifi::ch44 = 1u << 3 ,
  idfxx::wifi::ch48 = 1u << 4 ,
  idfxx::wifi::ch52 = 1u << 5 ,
  idfxx::wifi::ch56 = 1u << 6 ,
  idfxx::wifi::ch60 = 1u << 7 ,
  idfxx::wifi::ch64 = 1u << 8 ,
  idfxx::wifi::ch100 = 1u << 9 ,
  idfxx::wifi::ch104 = 1u << 10 ,
  idfxx::wifi::ch108 = 1u << 11 ,
  idfxx::wifi::ch112 = 1u << 12 ,
  idfxx::wifi::ch116 = 1u << 13 ,
  idfxx::wifi::ch120 = 1u << 14 ,
  idfxx::wifi::ch124 = 1u << 15 ,
  idfxx::wifi::ch128 = 1u << 16 ,
  idfxx::wifi::ch132 = 1u << 17 ,
  idfxx::wifi::ch136 = 1u << 18 ,
  idfxx::wifi::ch140 = 1u << 19 ,
  idfxx::wifi::ch144 = 1u << 20 ,
  idfxx::wifi::ch149 = 1u << 21 ,
  idfxx::wifi::ch153 = 1u << 22 ,
  idfxx::wifi::ch157 = 1u << 23 ,
  idfxx::wifi::ch161 = 1u << 24 ,
  idfxx::wifi::ch165 = 1u << 25 ,
  idfxx::wifi::ch169 = 1u << 26 ,
  idfxx::wifi::ch173 = 1u << 27 ,
  idfxx::wifi::ch177 = 1u << 28 ,
  idfxx::wifi::all = 0x1FFFFFFE
}
 5 GHz WiFi channel flags. More...
 
enum class  idfxx::wifi::storage : int {
  idfxx::wifi::flash = 0 ,
  idfxx::wifi::ram = 1
}
 WiFi configuration storage location. More...
 
enum class  idfxx::wifi::country_policy : int {
  idfxx::wifi::auto_policy = 0 ,
  idfxx::wifi::manual = 1
}
 WiFi country policy. More...
 
enum class  idfxx::wifi::scan_method : int {
  idfxx::wifi::fast = 0 ,
  idfxx::wifi::all_channel = 1
}
 WiFi scan method. More...
 
enum class  idfxx::wifi::sae_pwe_method : int {
  idfxx::wifi::hunt_and_peck = 1 ,
  idfxx::wifi::hash_to_element = 2
}
 SAE PWE (Password Element) derivation method. More...
 
enum class  idfxx::wifi::sae_pk_mode : int {
  idfxx::wifi::automatic = 0 ,
  idfxx::wifi::only = 1 ,
  idfxx::wifi::disabled = 2
}
 SAE-PK (Public Key) mode. More...
 
enum class  idfxx::wifi::protocol : uint8_t {
  idfxx::wifi::b11b = 0x01 ,
  idfxx::wifi::b11g = 0x02 ,
  idfxx::wifi::b11n = 0x04 ,
  idfxx::wifi::lr = 0x08 ,
  idfxx::wifi::b11a = 0x10 ,
  idfxx::wifi::b11ac = 0x20 ,
  idfxx::wifi::b11ax = 0x40
}
 WiFi protocol flags. More...
 
enum class  idfxx::wifi::promiscuous_pkt_type : int {
  idfxx::wifi::mgmt = 0 ,
  idfxx::wifi::ctrl = 1 ,
  idfxx::wifi::data = 2 ,
  idfxx::wifi::misc = 3
}
 Promiscuous mode packet type. More...
 
enum class  idfxx::wifi::promiscuous_filter : uint32_t {
  idfxx::wifi::all = 0xFFFFFFFF ,
  idfxx::wifi::mgmt = 1u << 0 ,
  idfxx::wifi::ctrl = 1u << 1 ,
  idfxx::wifi::data = 1u << 2 ,
  idfxx::wifi::misc = 1u << 3 ,
  idfxx::wifi::data_mpdu = 1u << 4 ,
  idfxx::wifi::data_ampdu = 1u << 5 ,
  idfxx::wifi::fcsfail = 1u << 6
}
 Promiscuous mode filter flags. More...
 
enum class  idfxx::wifi::promiscuous_ctrl_filter : uint32_t {
  idfxx::wifi::all = 0xFF800000 ,
  idfxx::wifi::wrapper = 1u << 23 ,
  idfxx::wifi::bar = 1u << 24 ,
  idfxx::wifi::ba = 1u << 25 ,
  idfxx::wifi::pspoll = 1u << 26 ,
  idfxx::wifi::rts = 1u << 27 ,
  idfxx::wifi::cts = 1u << 28 ,
  idfxx::wifi::ack = 1u << 29 ,
  idfxx::wifi::cfend = 1u << 30 ,
  idfxx::wifi::cfendack = 1u << 31
}
 Promiscuous mode control frame sub-type filter flags. More...
 
enum class  idfxx::wifi::event_mask : uint32_t {
  idfxx::wifi::all = 0xFFFFFFFF ,
  idfxx::wifi::none = 0 ,
  idfxx::wifi::ap_probe_req_rx = 1u << 0
}
 WiFi event mask flags. More...
 
enum class  idfxx::wifi::statis_module : uint32_t {
  idfxx::wifi::buffer = 1u << 0 ,
  idfxx::wifi::rxtx = 1u << 1 ,
  idfxx::wifi::hw = 1u << 2 ,
  idfxx::wifi::diag = 1u << 3 ,
  idfxx::wifi::ps = 1u << 4 ,
  idfxx::wifi::all = 0xFFFFFFFF
}
 WiFi statistics module flags. More...
 
enum class  idfxx::wifi::vendor_ie_type : int {
  idfxx::wifi::beacon = 0 ,
  idfxx::wifi::probe_req = 1 ,
  idfxx::wifi::probe_resp = 2 ,
  idfxx::wifi::assoc_req = 3 ,
  idfxx::wifi::assoc_resp = 4
}
 Vendor-specific IE type. More...
 
enum class  idfxx::wifi::vendor_ie_id : int {
  idfxx::wifi::id_0 = 0 ,
  idfxx::wifi::id_1 = 1
}
 Vendor-specific IE index. More...
 
enum class  idfxx::wifi::ftm_status : int {
  idfxx::wifi::success = 0 ,
  idfxx::wifi::unsupported = 1 ,
  idfxx::wifi::conf_rejected = 2 ,
  idfxx::wifi::no_response = 3 ,
  idfxx::wifi::fail = 4 ,
  idfxx::wifi::no_valid_msmt = 5 ,
  idfxx::wifi::user_term = 6
}
 FTM (Fine Timing Measurement) session status. More...
 
enum class  idfxx::wifi::phy_rate : int {
  idfxx::wifi::rate_1m_l = 0x00 ,
  idfxx::wifi::rate_2m_l = 0x01 ,
  idfxx::wifi::rate_5m_l = 0x02 ,
  idfxx::wifi::rate_11m_l = 0x03 ,
  idfxx::wifi::rate_2m_s = 0x05 ,
  idfxx::wifi::rate_5m_s = 0x06 ,
  idfxx::wifi::rate_11m_s = 0x07 ,
  idfxx::wifi::rate_48m = 0x08 ,
  idfxx::wifi::rate_24m = 0x09 ,
  idfxx::wifi::rate_12m = 0x0A ,
  idfxx::wifi::rate_6m = 0x0B ,
  idfxx::wifi::rate_54m = 0x0C ,
  idfxx::wifi::rate_36m = 0x0D ,
  idfxx::wifi::rate_18m = 0x0E ,
  idfxx::wifi::rate_9m = 0x0F ,
  idfxx::wifi::mcs0_lgi = 0x10 ,
  idfxx::wifi::mcs1_lgi = 0x11 ,
  idfxx::wifi::mcs2_lgi = 0x12 ,
  idfxx::wifi::mcs3_lgi = 0x13 ,
  idfxx::wifi::mcs4_lgi = 0x14 ,
  idfxx::wifi::mcs5_lgi = 0x15 ,
  idfxx::wifi::mcs6_lgi = 0x16 ,
  idfxx::wifi::mcs7_lgi = 0x17 ,
  idfxx::wifi::mcs0_sgi = 0x18 ,
  idfxx::wifi::mcs1_sgi = mcs0_sgi + 1 ,
  idfxx::wifi::mcs2_sgi = mcs0_sgi + 2 ,
  idfxx::wifi::mcs3_sgi = mcs0_sgi + 3 ,
  idfxx::wifi::mcs4_sgi = mcs0_sgi + 4 ,
  idfxx::wifi::mcs5_sgi = mcs0_sgi + 5 ,
  idfxx::wifi::mcs6_sgi = mcs0_sgi + 6 ,
  idfxx::wifi::mcs7_sgi = mcs0_sgi + 7 ,
  idfxx::wifi::lora_250k = 0x29 ,
  idfxx::wifi::lora_500k = 0x2A
}
 WiFi PHY transmission rate. More...
 
enum class  idfxx::wifi::errc : esp_err_t {
  idfxx::wifi::not_init = 0x3001 ,
  idfxx::wifi::not_started = 0x3002 ,
  idfxx::wifi::not_stopped = 0x3003 ,
  idfxx::wifi::if_error = 0x3004 ,
  idfxx::wifi::mode = 0x3005 ,
  idfxx::wifi::state = 0x3006 ,
  idfxx::wifi::conn = 0x3007 ,
  idfxx::wifi::nvs = 0x3008 ,
  idfxx::wifi::mac = 0x3009 ,
  idfxx::wifi::ssid = 0x300A ,
  idfxx::wifi::password = 0x300B ,
  idfxx::wifi::timeout = 0x300C ,
  idfxx::wifi::wake_fail = 0x300D ,
  idfxx::wifi::would_block = 0x300E ,
  idfxx::wifi::not_connect = 0x300F ,
  idfxx::wifi::post = 0x3012 ,
  idfxx::wifi::init_state = 0x3013 ,
  idfxx::wifi::stop_state = 0x3014 ,
  idfxx::wifi::not_assoc = 0x3015 ,
  idfxx::wifi::tx_disallow = 0x3016 ,
  idfxx::wifi::twt_full = 0x3017 ,
  idfxx::wifi::twt_setup_timeout = 0x3018 ,
  idfxx::wifi::twt_setup_txfail = 0x3019 ,
  idfxx::wifi::twt_setup_reject = 0x301A ,
  idfxx::wifi::discard = 0x301B ,
  idfxx::wifi::roc_in_progress = 0x301C
}
 Error codes for WiFi operations. More...
 
enum class  idfxx::wifi::event_id : int32_t {
  idfxx::wifi::ready = 0 ,
  idfxx::wifi::scan_done = 1 ,
  idfxx::wifi::sta_start = 2 ,
  idfxx::wifi::sta_stop = 3 ,
  idfxx::wifi::sta_connected = 4 ,
  idfxx::wifi::sta_disconnected = 5 ,
  idfxx::wifi::sta_authmode_change = 6 ,
  idfxx::wifi::sta_wps_er_success = 7 ,
  idfxx::wifi::sta_wps_er_failed = 8 ,
  idfxx::wifi::sta_wps_er_timeout = 9 ,
  idfxx::wifi::sta_wps_er_pin = 10 ,
  idfxx::wifi::sta_wps_er_pbc_overlap = 11 ,
  idfxx::wifi::ap_start = 12 ,
  idfxx::wifi::ap_stop = 13 ,
  idfxx::wifi::ap_sta_connected = 14 ,
  idfxx::wifi::ap_sta_disconnected = 15 ,
  idfxx::wifi::ap_probe_req_received = 16 ,
  idfxx::wifi::ftm_report = 17 ,
  idfxx::wifi::sta_bss_rssi_low = 18 ,
  idfxx::wifi::action_tx_status = 19 ,
  idfxx::wifi::roc_done = 20 ,
  idfxx::wifi::sta_beacon_timeout = 21 ,
  idfxx::wifi::connectionless_module_wake_interval_start = 22 ,
  idfxx::wifi::ap_wps_rg_success = 23 ,
  idfxx::wifi::ap_wps_rg_failed = 24 ,
  idfxx::wifi::ap_wps_rg_timeout = 25 ,
  idfxx::wifi::ap_wps_rg_pin = 26 ,
  idfxx::wifi::ap_wps_rg_pbc_overlap = 27 ,
  idfxx::wifi::itwt_setup = 28 ,
  idfxx::wifi::itwt_teardown = 29 ,
  idfxx::wifi::itwt_probe = 30 ,
  idfxx::wifi::itwt_suspend = 31 ,
  idfxx::wifi::twt_wakeup = 32 ,
  idfxx::wifi::btwt_setup = 33 ,
  idfxx::wifi::btwt_teardown = 34 ,
  idfxx::wifi::nan_started = 35 ,
  idfxx::wifi::nan_stopped = 36 ,
  idfxx::wifi::nan_svc_match = 37 ,
  idfxx::wifi::nan_replied = 38 ,
  idfxx::wifi::nan_receive = 39 ,
  idfxx::wifi::ndp_indication = 40 ,
  idfxx::wifi::ndp_confirm = 41 ,
  idfxx::wifi::ndp_terminated = 42 ,
  idfxx::wifi::home_channel_change = 43 ,
  idfxx::wifi::sta_neighbor_rep = 44 ,
  idfxx::wifi::ap_wrong_password = 45 ,
  idfxx::wifi::sta_beacon_offset_unstable = 46 ,
  idfxx::wifi::dpp_uri_ready = 47 ,
  idfxx::wifi::dpp_cfg_recvd = 48 ,
  idfxx::wifi::dpp_failed = 49
}
 WiFi event IDs. More...
 

Functions

void idfxx::wifi::init (const init_config &cfg={})
 Initializes the WiFi subsystem.
 
void idfxx::wifi::deinit ()
 Deinitializes the WiFi subsystem and frees resources.
 
void idfxx::wifi::start ()
 Starts the WiFi subsystem.
 
void idfxx::wifi::stop ()
 Stops the WiFi subsystem.
 
void idfxx::wifi::restore ()
 Restores WiFi stack persistent settings to defaults.
 
result< voididfxx::wifi::try_init (const init_config &cfg={})
 Initializes the WiFi subsystem.
 
result< voididfxx::wifi::try_deinit ()
 Deinitializes the WiFi subsystem and frees resources.
 
result< voididfxx::wifi::try_start ()
 Starts the WiFi subsystem.
 
result< voididfxx::wifi::try_stop ()
 Stops the WiFi subsystem.
 
result< voididfxx::wifi::try_restore ()
 Restores WiFi stack persistent settings to defaults.
 
void idfxx::wifi::set_roles (flags< role > roles)
 Sets the active WiFi roles.
 
flags< roleidfxx::wifi::get_roles ()
 Gets the currently active WiFi roles.
 
result< voididfxx::wifi::try_set_roles (flags< role > roles)
 Sets the active WiFi roles.
 
result< flags< role > > idfxx::wifi::try_get_roles ()
 Gets the currently active WiFi roles.
 
void idfxx::wifi::set_sta_config (const sta_config &cfg)
 Sets the WiFi station configuration.
 
sta_config idfxx::wifi::get_sta_config ()
 Gets the current WiFi station configuration.
 
result< voididfxx::wifi::try_set_sta_config (const sta_config &cfg)
 Sets the WiFi station configuration.
 
result< sta_configidfxx::wifi::try_get_sta_config ()
 Gets the current WiFi station configuration.
 
void idfxx::wifi::set_ap_config (const ap_config &cfg)
 Sets the WiFi access point configuration.
 
ap_config idfxx::wifi::get_ap_config ()
 Gets the current WiFi access point configuration.
 
void idfxx::wifi::deauth_sta (uint16_t aid)
 Deauthenticates a station from the soft-AP.
 
std::vector< sta_infoidfxx::wifi::get_sta_list ()
 Gets the list of stations connected to the soft-AP.
 
uint16_t idfxx::wifi::ap_get_sta_aid (mac_address mac)
 Gets the association ID for a station connected to the soft-AP.
 
result< voididfxx::wifi::try_set_ap_config (const ap_config &cfg)
 Sets the WiFi access point configuration.
 
result< ap_configidfxx::wifi::try_get_ap_config ()
 Gets the current WiFi access point configuration.
 
result< voididfxx::wifi::try_deauth_sta (uint16_t aid)
 Deauthenticates a station from the soft-AP.
 
result< std::vector< sta_info > > idfxx::wifi::try_get_sta_list ()
 Gets the list of stations connected to the soft-AP.
 
result< uint16_tidfxx::wifi::try_ap_get_sta_aid (mac_address mac)
 Gets the association ID for a station connected to the soft-AP.
 
void idfxx::wifi::connect ()
 Connects to the configured access point.
 
void idfxx::wifi::disconnect ()
 Disconnects from the current access point.
 
void idfxx::wifi::clear_fast_connect ()
 Clears the fast-connect data stored in memory.
 
uint16_t idfxx::wifi::sta_get_aid ()
 Gets the association ID assigned by the AP in station mode.
 
enum phy_mode idfxx::wifi::get_negotiated_phymode ()
 Gets the PHY mode negotiated with the connected AP.
 
result< voididfxx::wifi::try_connect ()
 Connects to the configured access point.
 
result< voididfxx::wifi::try_disconnect ()
 Disconnects from the current access point.
 
result< voididfxx::wifi::try_clear_fast_connect ()
 Clears the fast-connect data stored in memory.
 
result< uint16_tidfxx::wifi::try_sta_get_aid ()
 Gets the association ID assigned by the AP in station mode.
 
result< enum phy_modeidfxx::wifi::try_get_negotiated_phymode ()
 Gets the PHY mode negotiated with the connected AP.
 
std::vector< ap_recordidfxx::wifi::scan (const scan_config &cfg={})
 Performs a blocking scan for access points.
 
void idfxx::wifi::scan_start (const scan_config &cfg={})
 Starts a non-blocking scan for access points.
 
std::vector< ap_recordidfxx::wifi::scan_get_results ()
 Retrieves results from a completed scan.
 
void idfxx::wifi::scan_stop ()
 Stops an in-progress scan.
 
uint16_t idfxx::wifi::scan_get_ap_num ()
 Gets the number of APs found in the last scan.
 
void idfxx::wifi::clear_ap_list ()
 Clears the AP list stored from a previous scan.
 
void idfxx::wifi::set_scan_parameters (const scan_default_params &params)
 Sets the default scan timing parameters.
 
scan_default_params idfxx::wifi::get_scan_parameters ()
 Gets the current default scan timing parameters.
 
result< std::vector< ap_record > > idfxx::wifi::try_scan (const scan_config &cfg={})
 Performs a blocking scan for access points.
 
result< voididfxx::wifi::try_scan_start (const scan_config &cfg={})
 Starts a non-blocking scan for access points.
 
result< std::vector< ap_record > > idfxx::wifi::try_scan_get_results ()
 Retrieves results from a completed scan.
 
result< voididfxx::wifi::try_scan_stop ()
 Stops an in-progress scan.
 
result< uint16_tidfxx::wifi::try_scan_get_ap_num ()
 Gets the number of APs found in the last scan.
 
result< voididfxx::wifi::try_clear_ap_list ()
 Clears the AP list stored from a previous scan.
 
result< voididfxx::wifi::try_set_scan_parameters (const scan_default_params &params)
 Sets the default scan timing parameters.
 
result< scan_default_paramsidfxx::wifi::try_get_scan_parameters ()
 Gets the current default scan timing parameters.
 
void idfxx::wifi::set_power_save (enum power_save ps)
 Sets the power save mode.
 
enum power_save idfxx::wifi::get_power_save ()
 Gets the current power save mode.
 
result< voididfxx::wifi::try_set_power_save (enum power_save ps)
 Sets the power save mode.
 
result< enum power_saveidfxx::wifi::try_get_power_save ()
 Gets the current power save mode.
 
void idfxx::wifi::set_bandwidth (enum role iface, enum bandwidth bw)
 Sets the channel bandwidth for the specified interface.
 
enum bandwidth idfxx::wifi::get_bandwidth (enum role iface)
 Gets the current channel bandwidth for the specified interface.
 
void idfxx::wifi::set_bandwidths (enum role iface, const bandwidths_config &bw)
 Sets bandwidths for dual-band operation on the specified interface.
 
bandwidths_config idfxx::wifi::get_bandwidths (enum role iface)
 Gets bandwidths for dual-band operation on the specified interface.
 
result< voididfxx::wifi::try_set_bandwidth (enum role iface, enum bandwidth bw)
 Sets the channel bandwidth for the specified interface.
 
result< enum bandwidthidfxx::wifi::try_get_bandwidth (enum role iface)
 Gets the current channel bandwidth for the specified interface.
 
result< voididfxx::wifi::try_set_bandwidths (enum role iface, const bandwidths_config &bw)
 Sets bandwidths for dual-band operation on the specified interface.
 
result< bandwidths_configidfxx::wifi::try_get_bandwidths (enum role iface)
 Gets bandwidths for dual-band operation on the specified interface.
 
void idfxx::wifi::set_mac (enum role iface, mac_address mac)
 Sets the MAC address for the specified interface.
 
mac_address idfxx::wifi::get_mac (enum role iface)
 Gets the MAC address for the specified interface.
 
result< voididfxx::wifi::try_set_mac (enum role iface, mac_address mac)
 Sets the MAC address for the specified interface.
 
result< mac_addressidfxx::wifi::try_get_mac (enum role iface)
 Gets the MAC address for the specified interface.
 
ap_record idfxx::wifi::get_ap_info ()
 Gets information about the currently connected access point.
 
result< ap_recordidfxx::wifi::try_get_ap_info ()
 Gets information about the currently connected access point.
 
void idfxx::wifi::set_channel (uint8_t primary, std::optional< enum second_channel > second=std::nullopt)
 Sets the primary and secondary channel.
 
channel_info idfxx::wifi::get_channel ()
 Gets the current primary and secondary channel.
 
result< voididfxx::wifi::try_set_channel (uint8_t primary, std::optional< enum second_channel > second=std::nullopt)
 Sets the primary and secondary channel.
 
result< channel_infoidfxx::wifi::try_get_channel ()
 Gets the current primary and secondary channel.
 
void idfxx::wifi::set_country (const country_config &cfg)
 Sets the WiFi country configuration.
 
country_config idfxx::wifi::get_country ()
 Gets the current WiFi country configuration.
 
void idfxx::wifi::set_country_code (std::string_view cc, bool ieee80211d_enabled)
 Sets the country code.
 
std::string idfxx::wifi::get_country_code ()
 Gets the current country code.
 
result< voididfxx::wifi::try_set_country (const country_config &cfg)
 Sets the WiFi country configuration.
 
result< country_configidfxx::wifi::try_get_country ()
 Gets the current WiFi country configuration.
 
result< voididfxx::wifi::try_set_country_code (std::string_view cc, bool ieee80211d_enabled)
 Sets the country code.
 
result< std::string > idfxx::wifi::try_get_country_code ()
 Gets the current country code.
 
void idfxx::wifi::set_max_tx_power (int8_t power)
 Sets the maximum transmit power.
 
int8_t idfxx::wifi::get_max_tx_power ()
 Gets the current maximum transmit power.
 
result< voididfxx::wifi::try_set_max_tx_power (int8_t power)
 Sets the maximum transmit power.
 
result< int8_tidfxx::wifi::try_get_max_tx_power ()
 Gets the current maximum transmit power.
 
void idfxx::wifi::set_rssi_threshold (int32_t rssi)
 Sets the RSSI threshold for the sta_bss_rssi_low event.
 
int idfxx::wifi::get_rssi ()
 Gets the current RSSI of the connected AP.
 
result< voididfxx::wifi::try_set_rssi_threshold (int32_t rssi)
 Sets the RSSI threshold for the sta_bss_rssi_low event.
 
result< intidfxx::wifi::try_get_rssi ()
 Gets the current RSSI of the connected AP.
 
void idfxx::wifi::set_protocol (enum role iface, flags< protocol > protos)
 Sets the enabled WiFi protocols for the specified interface.
 
flags< protocolidfxx::wifi::get_protocol (enum role iface)
 Gets the enabled WiFi protocols for the specified interface.
 
void idfxx::wifi::set_protocols (enum role iface, const protocols_config &cfg)
 Sets the enabled WiFi protocols for dual-band operation.
 
protocols_config idfxx::wifi::get_protocols (enum role iface)
 Gets the enabled WiFi protocols for dual-band operation.
 
result< voididfxx::wifi::try_set_protocol (enum role iface, flags< protocol > protos)
 Sets the enabled WiFi protocols for the specified interface.
 
result< flags< protocol > > idfxx::wifi::try_get_protocol (enum role iface)
 Gets the enabled WiFi protocols for the specified interface.
 
result< voididfxx::wifi::try_set_protocols (enum role iface, const protocols_config &cfg)
 Sets the enabled WiFi protocols for dual-band operation.
 
result< protocols_configidfxx::wifi::try_get_protocols (enum role iface)
 Gets the enabled WiFi protocols for dual-band operation.
 
void idfxx::wifi::set_band (enum band b)
 Sets the WiFi band.
 
enum band idfxx::wifi::get_band ()
 Gets the current WiFi band.
 
void idfxx::wifi::set_band_mode (enum band_mode m)
 Sets the WiFi band mode.
 
enum band_mode idfxx::wifi::get_band_mode ()
 Gets the current WiFi band mode.
 
result< voididfxx::wifi::try_set_band (enum band b)
 Sets the WiFi band.
 
result< enum bandidfxx::wifi::try_get_band ()
 Gets the current WiFi band.
 
result< voididfxx::wifi::try_set_band_mode (enum band_mode m)
 Sets the WiFi band mode.
 
result< enum band_modeidfxx::wifi::try_get_band_mode ()
 Gets the current WiFi band mode.
 
void idfxx::wifi::set_storage (enum storage s)
 Sets the WiFi configuration storage location.
 
result< voididfxx::wifi::try_set_storage (enum storage s)
 Sets the WiFi configuration storage location.
 
void idfxx::wifi::set_inactive_time (enum role iface, uint16_t sec)
 Sets the inactive time before a station is deauthenticated.
 
uint16_t idfxx::wifi::get_inactive_time (enum role iface)
 Gets the inactive time before a station is deauthenticated.
 
result< voididfxx::wifi::try_set_inactive_time (enum role iface, uint16_t sec)
 Sets the inactive time before a station is deauthenticated.
 
result< uint16_tidfxx::wifi::try_get_inactive_time (enum role iface)
 Gets the inactive time before a station is deauthenticated.
 
void idfxx::wifi::set_event_mask (flags< event_mask > mask)
 Sets the WiFi event mask.
 
flags< event_maskidfxx::wifi::get_event_mask ()
 Gets the current WiFi event mask.
 
result< voididfxx::wifi::try_set_event_mask (flags< event_mask > mask)
 Sets the WiFi event mask.
 
result< flags< event_mask > > idfxx::wifi::try_get_event_mask ()
 Gets the current WiFi event mask.
 
void idfxx::wifi::force_wakeup_acquire ()
 Acquires a WiFi wakeup lock.
 
void idfxx::wifi::force_wakeup_release ()
 Releases a WiFi wakeup lock.
 
result< voididfxx::wifi::try_force_wakeup_acquire ()
 Acquires a WiFi wakeup lock.
 
result< voididfxx::wifi::try_force_wakeup_release ()
 Releases a WiFi wakeup lock.
 
void idfxx::wifi::set_promiscuous (bool en)
 Enables or disables promiscuous mode.
 
bool idfxx::wifi::get_promiscuous ()
 Gets whether promiscuous mode is enabled.
 
void idfxx::wifi::set_promiscuous_rx_cb (void(*cb)(void *, int))
 Sets the promiscuous mode receive callback.
 
void idfxx::wifi::set_promiscuous_filter (flags< promiscuous_filter > filter)
 Sets the promiscuous mode packet type filter.
 
flags< promiscuous_filteridfxx::wifi::get_promiscuous_filter ()
 Gets the current promiscuous mode packet type filter.
 
void idfxx::wifi::set_promiscuous_ctrl_filter (flags< promiscuous_ctrl_filter > filter)
 Sets the promiscuous mode control frame sub-type filter.
 
flags< promiscuous_ctrl_filteridfxx::wifi::get_promiscuous_ctrl_filter ()
 Gets the current promiscuous mode control frame sub-type filter.
 
result< voididfxx::wifi::try_set_promiscuous (bool en)
 Enables or disables promiscuous mode.
 
result< boolidfxx::wifi::try_get_promiscuous ()
 Gets whether promiscuous mode is enabled.
 
result< voididfxx::wifi::try_set_promiscuous_rx_cb (void(*cb)(void *, int))
 Sets the promiscuous mode receive callback.
 
result< voididfxx::wifi::try_set_promiscuous_filter (flags< promiscuous_filter > filter)
 Sets the promiscuous mode packet type filter.
 
result< flags< promiscuous_filter > > idfxx::wifi::try_get_promiscuous_filter ()
 Gets the current promiscuous mode packet type filter.
 
result< voididfxx::wifi::try_set_promiscuous_ctrl_filter (flags< promiscuous_ctrl_filter > filter)
 Sets the promiscuous mode control frame sub-type filter.
 
result< flags< promiscuous_ctrl_filter > > idfxx::wifi::try_get_promiscuous_ctrl_filter ()
 Gets the current promiscuous mode control frame sub-type filter.
 
void idfxx::wifi::tx_80211 (enum role iface, std::span< const uint8_t > buffer, bool en_sys_seq)
 Transmits a raw 802.11 frame.
 
void idfxx::wifi::register_80211_tx_cb (void(*cb)(const void *))
 Registers a callback for 802.11 TX completion.
 
result< voididfxx::wifi::try_tx_80211 (enum role iface, std::span< const uint8_t > buffer, bool en_sys_seq)
 Transmits a raw 802.11 frame.
 
result< voididfxx::wifi::try_register_80211_tx_cb (void(*cb)(const void *))
 Registers a callback for 802.11 TX completion.
 
void idfxx::wifi::set_vendor_ie (bool enable, enum vendor_ie_type type, enum vendor_ie_id id, const void *vnd_ie)
 Sets a vendor-specific information element.
 
void idfxx::wifi::set_vendor_ie_cb (void(*cb)(void *, int, const uint8_t *, const void *, int), void *ctx)
 Registers a callback for received vendor-specific IEs.
 
result< voididfxx::wifi::try_set_vendor_ie (bool enable, enum vendor_ie_type type, enum vendor_ie_id id, const void *vnd_ie)
 Sets a vendor-specific information element.
 
result< voididfxx::wifi::try_set_vendor_ie_cb (void(*cb)(void *, int, const uint8_t *, const void *, int), void *ctx)
 Registers a callback for received vendor-specific IEs.
 
void idfxx::wifi::set_csi (bool en)
 Enables or disables CSI (Channel State Information) collection.
 
void idfxx::wifi::set_csi_config (const csi_config &cfg)
 Sets the CSI configuration.
 
csi_config idfxx::wifi::get_csi_config ()
 Gets the current CSI configuration.
 
void idfxx::wifi::set_csi_rx_cb (void(*cb)(void *, void *), void *ctx)
 Registers a callback for CSI data reception.
 
result< voididfxx::wifi::try_set_csi (bool en)
 Enables or disables CSI (Channel State Information) collection.
 
result< voididfxx::wifi::try_set_csi_config (const csi_config &cfg)
 Sets the CSI configuration.
 
result< csi_configidfxx::wifi::try_get_csi_config ()
 Gets the current CSI configuration.
 
result< voididfxx::wifi::try_set_csi_rx_cb (void(*cb)(void *, void *), void *ctx)
 Registers a callback for CSI data reception.
 
void idfxx::wifi::ftm_initiate_session (const ftm_initiator_config &cfg)
 Initiates an FTM (Fine Timing Measurement) session.
 
void idfxx::wifi::ftm_end_session ()
 Ends the current FTM session.
 
void idfxx::wifi::ftm_resp_set_offset (int16_t offset)
 Sets the FTM responder offset.
 
std::vector< ftm_report_entryidfxx::wifi::ftm_get_report (size_t max_entries)
 Retrieves the FTM measurement report entries.
 
result< voididfxx::wifi::try_ftm_initiate_session (const ftm_initiator_config &cfg)
 Initiates an FTM (Fine Timing Measurement) session.
 
result< voididfxx::wifi::try_ftm_end_session ()
 Ends the current FTM session.
 
result< voididfxx::wifi::try_ftm_resp_set_offset (int16_t offset)
 Sets the FTM responder offset.
 
result< std::vector< ftm_report_entry > > idfxx::wifi::try_ftm_get_report (size_t max_entries)
 Retrieves the FTM measurement report entries.
 
int64_t idfxx::wifi::get_tsf_time (enum role iface)
 Gets the TSF (Timing Synchronization Function) time for the specified interface.
 
void idfxx::wifi::statis_dump (flags< statis_module > modules)
 Dumps WiFi statistics for the specified modules.
 
void idfxx::wifi::config_11b_rate (enum role iface, bool disable)
 Enables or disables 802.11b rate for the specified interface.
 
void idfxx::wifi::config_80211_tx_rate (enum role iface, enum phy_rate rate)
 Sets the 802.11 TX rate for the specified interface.
 
void idfxx::wifi::disable_pmf_config (enum role iface)
 Disables PMF (Protected Management Frames) for the specified interface.
 
void idfxx::wifi::set_dynamic_cs (bool enabled)
 Enables or disables dynamic CS (Carrier Sense).
 
void idfxx::wifi::connectionless_module_set_wake_interval (uint16_t interval)
 Sets the connectionless module wake interval.
 
result< voididfxx::wifi::try_statis_dump (flags< statis_module > modules)
 Dumps WiFi statistics for the specified modules.
 
result< voididfxx::wifi::try_config_11b_rate (enum role iface, bool disable)
 Enables or disables 802.11b rate for the specified interface.
 
result< voididfxx::wifi::try_config_80211_tx_rate (enum role iface, enum phy_rate rate)
 Sets the 802.11 TX rate for the specified interface.
 
result< voididfxx::wifi::try_disable_pmf_config (enum role iface)
 Disables PMF (Protected Management Frames) for the specified interface.
 
result< voididfxx::wifi::try_set_dynamic_cs (bool enabled)
 Enables or disables dynamic CS (Carrier Sense).
 
result< voididfxx::wifi::try_connectionless_module_set_wake_interval (uint16_t interval)
 Sets the connectionless module wake interval.
 
netif::interface idfxx::wifi::create_default_sta_netif ()
 Creates a default WiFi station network interface.
 
netif::interface idfxx::wifi::create_default_ap_netif ()
 Creates a default WiFi access point network interface.
 
result< netif::interfaceidfxx::wifi::try_create_default_sta_netif ()
 Creates a default WiFi station network interface.
 
result< netif::interfaceidfxx::wifi::try_create_default_ap_netif ()
 Creates a default WiFi access point network interface.
 
const wifi::error_categoryidfxx::wifi_category () noexcept
 Returns a reference to the WiFi error category singleton.
 
std::unexpected< std::error_code > idfxx::wifi_error (esp_err_t e)
 Creates an unexpected error from an ESP-IDF error code, mapping to WiFi error codes where possible.
 
std::string idfxx::to_string (flags< wifi::role > roles)
 Returns a string representation of active WiFi roles.
 
std::string idfxx::to_string (wifi::auth_mode m)
 Returns a string representation of a WiFi authentication mode.
 
std::string idfxx::to_string (wifi::cipher_type c)
 Returns a string representation of a WiFi cipher type.
 
std::string idfxx::to_string (wifi::disconnect_reason r)
 Returns a string representation of a WiFi disconnect reason.
 
std::error_code idfxx::wifi::make_error_code (errc e) noexcept
 Creates an error code from an idfxx::wifi::errc value.
 

Variables

const event_base< event_ididfxx::wifi::events
 WiFi event base.
 
constexpr idfxx::event< event_id, connected_event_dataidfxx::wifi::sta_connected {event_id::sta_connected}
 Station connected event with connection details.
 
constexpr idfxx::event< event_id, disconnected_event_dataidfxx::wifi::sta_disconnected {event_id::sta_disconnected}
 Station disconnected event with disconnection details.
 
constexpr idfxx::event< event_id, scan_done_event_dataidfxx::wifi::scan_done {event_id::scan_done}
 Scan completed event with scan results summary.
 
constexpr idfxx::event< event_id, authmode_change_event_dataidfxx::wifi::sta_authmode_change {event_id::sta_authmode_change}
 Station authentication mode changed event.
 
constexpr idfxx::event< event_id, ap_sta_connected_event_dataidfxx::wifi::ap_sta_connected {event_id::ap_sta_connected}
 Station connected to soft-AP event.
 
constexpr idfxx::event< event_id, ap_sta_disconnected_event_dataidfxx::wifi::ap_sta_disconnected
 Station disconnected from soft-AP event.
 
constexpr idfxx::event< event_id, ap_probe_req_event_dataidfxx::wifi::ap_probe_req_received {event_id::ap_probe_req_received}
 Probe request received by soft-AP event.
 
constexpr idfxx::event< event_id, bss_rssi_low_event_dataidfxx::wifi::sta_bss_rssi_low {event_id::sta_bss_rssi_low}
 BSS RSSI dropped below threshold event.
 
constexpr idfxx::event< event_id, home_channel_change_event_dataidfxx::wifi::home_channel_change
 Home channel changed event.
 
constexpr idfxx::event< event_id, ftm_report_event_dataidfxx::wifi::ftm_report {event_id::ftm_report}
 FTM report received event.
 
constexpr idfxx::event< event_ididfxx::wifi::ready {event_id::ready}
 WiFi ready event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_start {event_id::sta_start}
 Station started event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_stop {event_id::sta_stop}
 Station stopped event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_start {event_id::ap_start}
 Soft-AP started event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_stop {event_id::ap_stop}
 Soft-AP stopped event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_beacon_timeout {event_id::sta_beacon_timeout}
 Station beacon timeout event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_wps_er_success {event_id::sta_wps_er_success}
 WPS enrollee success event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_wps_er_failed {event_id::sta_wps_er_failed}
 WPS enrollee failed event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_wps_er_timeout {event_id::sta_wps_er_timeout}
 WPS enrollee timeout event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_wps_er_pin {event_id::sta_wps_er_pin}
 WPS enrollee PIN received event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_wps_er_pbc_overlap {event_id::sta_wps_er_pbc_overlap}
 WPS PBC overlap detected event.
 
constexpr idfxx::event< event_ididfxx::wifi::action_tx_status {event_id::action_tx_status}
 Action frame TX status event.
 
constexpr idfxx::event< event_ididfxx::wifi::roc_done {event_id::roc_done}
 Remain-on-channel done event.
 
constexpr idfxx::event< event_ididfxx::wifi::connectionless_module_wake_interval_start
 Connectionless module wake interval start event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_wps_rg_success {event_id::ap_wps_rg_success}
 AP WPS registrar success event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_wps_rg_failed {event_id::ap_wps_rg_failed}
 AP WPS registrar failed event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_wps_rg_timeout {event_id::ap_wps_rg_timeout}
 AP WPS registrar timeout event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_wps_rg_pin {event_id::ap_wps_rg_pin}
 AP WPS registrar PIN received event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_wps_rg_pbc_overlap {event_id::ap_wps_rg_pbc_overlap}
 AP WPS PBC overlap detected event.
 
constexpr idfxx::event< event_ididfxx::wifi::itwt_setup {event_id::itwt_setup}
 Individual TWT setup event.
 
constexpr idfxx::event< event_ididfxx::wifi::itwt_teardown {event_id::itwt_teardown}
 Individual TWT teardown event.
 
constexpr idfxx::event< event_ididfxx::wifi::itwt_probe {event_id::itwt_probe}
 Individual TWT probe event.
 
constexpr idfxx::event< event_ididfxx::wifi::itwt_suspend {event_id::itwt_suspend}
 Individual TWT suspend event.
 
constexpr idfxx::event< event_ididfxx::wifi::twt_wakeup {event_id::twt_wakeup}
 TWT wakeup event.
 
constexpr idfxx::event< event_ididfxx::wifi::btwt_setup {event_id::btwt_setup}
 Broadcast TWT setup event.
 
constexpr idfxx::event< event_ididfxx::wifi::btwt_teardown {event_id::btwt_teardown}
 Broadcast TWT teardown event.
 
constexpr idfxx::event< event_ididfxx::wifi::nan_started {event_id::nan_started}
 NAN started event.
 
constexpr idfxx::event< event_ididfxx::wifi::nan_stopped {event_id::nan_stopped}
 NAN stopped event.
 
constexpr idfxx::event< event_ididfxx::wifi::nan_svc_match {event_id::nan_svc_match}
 NAN service match event.
 
constexpr idfxx::event< event_ididfxx::wifi::nan_replied {event_id::nan_replied}
 NAN replied event.
 
constexpr idfxx::event< event_ididfxx::wifi::nan_receive {event_id::nan_receive}
 NAN receive event.
 
constexpr idfxx::event< event_ididfxx::wifi::ndp_indication {event_id::ndp_indication}
 NDP indication event.
 
constexpr idfxx::event< event_ididfxx::wifi::ndp_confirm {event_id::ndp_confirm}
 NDP confirm event.
 
constexpr idfxx::event< event_ididfxx::wifi::ndp_terminated {event_id::ndp_terminated}
 NDP terminated event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_neighbor_rep {event_id::sta_neighbor_rep}
 Station neighbor report received event.
 
constexpr idfxx::event< event_ididfxx::wifi::ap_wrong_password {event_id::ap_wrong_password}
 AP detected wrong password from station event.
 
constexpr idfxx::event< event_ididfxx::wifi::sta_beacon_offset_unstable {event_id::sta_beacon_offset_unstable}
 Station beacon offset unstable event.
 
constexpr idfxx::event< event_ididfxx::wifi::dpp_uri_ready {event_id::dpp_uri_ready}
 DPP URI ready event.
 
constexpr idfxx::event< event_ididfxx::wifi::dpp_cfg_recvd {event_id::dpp_cfg_recvd}
 DPP configuration received event.
 
constexpr idfxx::event< event_ididfxx::wifi::dpp_failed {event_id::dpp_failed}
 DPP failed event.
 

Detailed Description

WiFi type definitions and free function API.

Definition in file wifi.hpp.