wpa_supplicant: Expose wpas_get_bands() and related API
[mech_eap.git] / wpa_supplicant / wpa_supplicant_i.h
index 202b9e6..1b16d28 100644 (file)
@@ -308,11 +308,6 @@ struct wpa_radio {
 
 #define MAX_ACTIVE_WORKS 2
 
-enum wpa_radio_work_band {
-       BAND_2_4_GHZ = BIT(0),
-       BAND_5_GHZ = BIT(1),
-       BAND_60_GHZ = BIT(2),
-};
 
 /**
  * struct wpa_radio_work - Radio work item
@@ -358,6 +353,9 @@ struct wpa_external_work {
        unsigned int timeout;
 };
 
+enum wpa_radio_work_band wpas_freq_to_band(int freq);
+unsigned int wpas_get_bands(struct wpa_supplicant *wpa_s, const int *freqs);
+
 /**
  * offchannel_send_action_result - Result of offchannel send Action frame
  */
@@ -434,6 +432,12 @@ struct icon_entry {
        size_t image_len;
 };
 
+struct wpa_bss_tmp_disallowed {
+       struct dl_list list;
+       u8 bssid[ETH_ALEN];
+       struct os_reltime disallowed_until;
+};
+
 /**
  * struct wpa_supplicant - Internal data for wpa_supplicant interface
  *
@@ -447,6 +451,7 @@ struct wpa_supplicant {
        struct wpa_radio *radio; /* shared radio context */
        struct dl_list radio_list; /* list head: struct wpa_radio::ifaces */
        struct wpa_supplicant *parent;
+       struct wpa_supplicant *p2pdev;
        struct wpa_supplicant *next;
        struct l2_packet_data *l2;
        struct l2_packet_data *l2_br;
@@ -634,6 +639,7 @@ struct wpa_supplicant {
 #define MAX_SCAN_ID 16
        int scan_id[MAX_SCAN_ID];
        unsigned int scan_id_count;
+       u8 next_scan_bssid[ETH_ALEN];
 
        struct wpa_ssid_value *ssids_from_scan_req;
        unsigned int num_ssids_from_scan_req;
@@ -1029,6 +1035,12 @@ struct wpa_supplicant {
        size_t non_pref_chan_num;
        u8 mbo_wnm_token;
 #endif /* CONFIG_MBO */
+
+       /*
+        * This should be under CONFIG_MBO, but it is left out to allow using
+        * the bss_temp_disallowed list for other purposes as well.
+        */
+       struct dl_list bss_tmp_disallowed;
 };
 
 
@@ -1150,6 +1162,12 @@ int wpas_mbo_update_non_pref_chan(struct wpa_supplicant *wpa_s,
 void wpas_mbo_scan_ie(struct wpa_supplicant *wpa_s, struct wpabuf *ie);
 int wpas_mbo_supp_op_class_ie(struct wpa_supplicant *wpa_s, int freq, u8 *pos,
                              size_t len);
+void wpas_mbo_ie_trans_req(struct wpa_supplicant *wpa_s, const u8 *ie,
+                          size_t len);
+size_t wpas_mbo_ie_bss_trans_reject(struct wpa_supplicant *wpa_s, u8 *pos,
+                                   size_t len,
+                                   enum mbo_transition_reject_reason reason);
+void wpas_mbo_update_cell_capa(struct wpa_supplicant *wpa_s, u8 mbo_cell_capa);
 
 /**
  * wpa_supplicant_ctrl_iface_ctrl_rsp_handle - Handle a control response
@@ -1232,4 +1250,13 @@ int wpas_sched_scan_plans_set(struct wpa_supplicant *wpa_s, const char *cmd);
 struct hostapd_hw_modes * get_mode(struct hostapd_hw_modes *modes,
                                   u16 num_modes, enum hostapd_hw_mode mode);
 
+void wpa_bss_tmp_disallow(struct wpa_supplicant *wpa_s, const u8 *bssid,
+                         unsigned int sec);
+int wpa_is_bss_tmp_disallowed(struct wpa_supplicant *wpa_s, const u8 *bssid);
+
+struct wpa_ssid * wpa_scan_res_match(struct wpa_supplicant *wpa_s,
+                                    int i, struct wpa_bss *bss,
+                                    struct wpa_ssid *group,
+                                    int only_first_ssid);
+
 #endif /* WPA_SUPPLICANT_I_H */