1 /*
2  * SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef ESP_COMMON_I_H
8 #define ESP_COMMON_I_H
9 
10 #include "utils/includes.h"
11 
12 struct wpa_funcs;
13 extern struct wpa_supplicant g_wpa_supp;
14 
15 #ifdef CONFIG_IEEE80211KV
16 struct ieee_mgmt_frame {
17 	u8 sender[ETH_ALEN];
18 	u8 channel;
19 	int8_t rssi;
20 	size_t len;
21 	u8 payload[0];
22 };
23 
24 int esp_supplicant_post_evt(uint32_t evt_id, uint32_t data);
25 
26 typedef struct {
27     uint32_t id;
28     uint32_t data;
29 } supplicant_event_t;
30 
31 enum SIG_SUPPLICANT {
32 	SIG_SUPPLICANT_RX_ACTION,
33 	SIG_SUPPLICANT_SCAN_DONE,
34 	SIG_SUPPLICANT_DEL_TASK,
35 	SIG_SUPPLICANT_MAX,
36 };
37 
38 void esp_get_tx_power(uint8_t *tx_power);
39 #ifdef CONFIG_MBO
40 bool mbo_bss_profile_match(u8 *bssid);
41 #endif
42 #endif
43 int esp_supplicant_common_init(struct wpa_funcs *wpa_cb);
44 void esp_supplicant_common_deinit(void);
45 void esp_supplicant_unset_all_appie(void);
46 void esp_set_scan_ie(void);
47 void esp_set_assoc_ie(uint8_t *bssid, const u8 *ies, size_t ies_len, bool add_mdie);
48 void supplicant_sta_conn_handler(uint8_t* bssid);
49 void supplicant_sta_disconn_handler(void);
50 #endif
51